Thursday, July 22, 2010

dynamic datatable

CODE BEHIND

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataTable dt = getmyDatatable();

            DLAge.DataSource = dt;
            DLAge.DataValueField = dt.Columns[1].ToString();
            DLAge.DataBind();
            DLAge.Items.Insert(0, "Select");

            ChkAddress.DataSource = dt;
            ChkAddress.DataValueField = dt.Columns[2].ToString();
            ChkAddress.DataBind();

            //RBSex.DataSource = dt;
            //RBSex.DataValueField = dt.Columns[3].ToString();
            //RBSex.DataBind();

            LBphone.DataSource = dt;
            LBphone.DataValueField = dt.Columns[3].ToString();
            LBphone.DataBind();

            GridView1.AutoGenerateColumns = false;
            GridView1.DataSource = dt;
            GridView1.DataBind();
       }

    }

    private DataTable getmyDatatable()
    {
        DataTable dt = new DataTable();
        DataColumn dc;
        dc = new DataColumn("Name");
        dt.Columns.Add(dc);
        dc = new DataColumn("Age");
        dt.Columns.Add(dc);
        dc = new DataColumn("Address");
        dt.Columns.Add(dc);
        dc = new DataColumn("Phone");
        dt.Columns.Add(dc);
        //dc = new DataColumn("Sex");
        //dt.Columns.Add(dc);

        dt.Rows.Add("bala", "24", "cbe","9994403569");
        dt.Rows.Add("chendur", "23", "bangalore","9999999999");
        dt.Rows.Add("chchandru", "22", "chennai","888888888");

        return dt;
    }
    protected void LBAdd_Click(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        DataColumn dc;

        dc = new DataColumn("Name");
        dt.Columns.Add(dc);
        dc = new DataColumn("Age");
        dt.Columns.Add(dc);
        dc = new DataColumn("Address");
        dt.Columns.Add(dc);
        dc = new DataColumn("Phone");
        dt.Columns.Add(dc);
        dc = new DataColumn("Sex");
        dt.Columns.Add(dc);

        string strchklist = "";
        foreach (ListItem li in ChkAddress.Items)
        {
            if (strchklist == "")
            {
                if (li.Selected)
                {
                    strchklist = li.Text;
                }
            }
            else
            {
                if (li.Selected)
                {
                    strchklist += "," + li.Text;
                }
            }
        }

        string strLblist = "";
        foreach (ListItem li in LBphone.Items)
        {
            if (strLblist == "")
            {
                if (li.Selected)
                {
                    strLblist = li.Text;
                }
            }
            else
            {
                if (li.Selected)
                {
                    strLblist += "," + li.Text;
                }
            }
        }
        if (RBMale.Checked == true)
        {
            dt.Rows.Add(TxtName.Text, DLAge.SelectedItem.ToString(), strchklist, strLblist, "Male");
        }
        else
        {
            dt.Rows.Add(TxtName.Text, DLAge.SelectedItem.ToString(), strchklist, strLblist,"Female");
        }
        GridView1.Visible = false;
        GridView2.Visible = true;
        GridView2.AutoGenerateColumns = false;
        GridView2.DataSource = dt;
        GridView2.DataBind();
        ScriptManager.RegisterClientScriptBlock(LBAdd, typeof(LinkButton), "", "clear();", true);
    }

}


ASPX
       


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
  
    <script type="text/javascript" language="javascript" src="JScript.js">  
        </script>
</head>
<body>


    <form id="form1" runat="server">
  <asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>
  <asp:UpdatePanel ID="up" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
  <asp:HiddenField ID="Hf" runat="server" />
    <div>
        <asp:TextBox ID="TxtName" runat="server"></asp:TextBox>
        <asp:DropDownList ID="DLAge" runat="server">
        </asp:DropDownList>
        <asp:RadioButton ID="RBMale" runat="server" GroupName="Sex" Checked="true" Text="Male"/>
        <asp:RadioButton ID="RBFemale" runat="server" GroupName="Sex" Text="Female"/>
        <asp:CheckBoxList ID="ChkAddress" runat="server"
          >
        </asp:CheckBoxList>
        <asp:ListBox ID="LBphone" runat="server" SelectionMode="Multiple" ></asp:ListBox>
       <asp:Label ID="ErrorMsg" runat="server" Text=""></asp:Label>
        <asp:LinkButton ID="LBAdd" runat="server" onclick="LBAdd_Click" OnClientClick="return addvalid();">Add</asp:LinkButton>
      
        <asp:GridView ID="GridView1" runat="server">
        <Columns>
        <asp:TemplateField>
        <HeaderTemplate>Name</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblName" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Age</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAge" runat="server" Text='<%#Eval("Age") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Address</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAddress" runat="server" Text='<%#Eval("Address") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Phone</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblPhone" runat="server" Text='<%#Eval("Phone") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <%--<asp:TemplateField>
        <HeaderTemplate>Sex</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblSex" runat="server" Text='<%#Eval("Sex") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>--%>
      
        </Columns>
        </asp:GridView>
         <asp:GridView ID="GridView2" runat="server" Visible="false">
        <Columns>
        <asp:TemplateField>
        <HeaderTemplate>Name</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblName" runat="server" Text='<%#Eval("Name") %>'></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Age</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAge" runat="server" Text='<%#Eval("Age") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
        <HeaderTemplate>Address</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblAddress" runat="server" Text='<%#Eval("Address") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField>
        <HeaderTemplate>Phone</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblPhone" runat="server" Text='<%#Eval("Phone") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
         <asp:TemplateField>
        <HeaderTemplate>Sex</HeaderTemplate>
        <ItemTemplate>
        <asp:Label ID="lblSex" runat="server" Text='<%#Eval("Sex") %>' ></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
      
        </Columns>
        </asp:GridView>
    </div>
    </ContentTemplate>
    </asp:UpdatePanel>
    </form>
</body>
</html>


        
    
JAVASCRIPT
    
    function clear() {
    document.getElementById("TxtName").value = "";
    document.getElementById("DLAge").selectedIndex = 0;
    document.getElementById("ChkAddress_0").checked = false;
    document.getElementById("ChkAddress_1").checked = false;
    document.getElementById("ChkAddress_2").checked = false;
    document.getElementById("LBphone").selectedIndex = -1;
    document.getElementById("RBMale").checked = true;
    document.getElementById("RBFemale").checked = false;
    document.getElementById("ErrorMsg").innerHTML = "";
  
}

function addvalid() {
    if (document.getElementById("TxtName").value == "") {
        document.getElementById("ErrorMsg").innerHTML = "Enter ur Name";
        document.getElementById("TxtName").focus();
        return false;

    }
    if (document.getElementById("DLAge").selectedIndex == 0) {
        document.getElementById("ErrorMsg").innerHTML = "Select ur Age";
        document.getElementById("DLAge").focus();
        return false;

    }
    if (document.getElementById("ChkAddress_0").checked == false &&
        document.getElementById("ChkAddress_1").checked == false &&
        document.getElementById("ChkAddress_2").checked == false) {
        document.getElementById("ErrorMsg").innerHTML = "Select ur Address";
        document.getElementById("ChkAddress").focus();
        return false;

    }
    if (document.getElementById("LBphone").value == "") {
        document.getElementById("ErrorMsg").innerHTML = "Select ur phone number";
        document.getElementById("LBphone").focus();
        return false;

    }
  
    return true;
}
    



0 comments: