简体   繁体   中英

Add Data to gridview dynamically in ASp.net

I have a gridview

<asp:GridView ID="gvOrders" runat="server">
            <Columns>
                <asp:BoundField DataField="Item" HeaderText="Item" SortExpression="Item" />
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:HiddenField ID="hdnItemID" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Quantity" HeaderText="Quantity" SortExpression="Quantity" />

            </Columns>
        </asp:GridView>

.............................................

Now i want Add Rows to gridview with data getting from Textbox/DropdownList. And then how to access this GridData rows.

Assuming your GridView datasource is a DataTable named Dtable;

DataRow row = new DataRow();             

row["columnName"] = textBox1.Text; 

DTable.Rows.Add(row);

gvOrders.DataSource=Dtable;
gvOrders.DataBind();

Please try this, how it will help you.

Aspx Page:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <Columns>

                    <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name"></asp:BoundField>                        
                    <asp:BoundField DataField="Number" HeaderText="Number" SortExpression="Number"></asp:BoundField>                        
                </Columns>

  </asp:GridView>

C# Code:

DataTable dt;
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        dt = new DataTable();
        MakeDataTable();
    }
    else
    {
        dt = (DataTable)ViewState["DataTable"];
    }
    ViewState["DataTable"] = dt;
}

private void MakeDataTable()
{
    dt.Columns.Add("Name");
    dt.Columns.Add("Number");
}

protected void Button2_Click(object sender, EventArgs e)
{
    AddToDataTable();
    BindGrid();
}

private void AddToDataTable()
{
    DataRow dr = dt.NewRow();
    dr["Name"] = txtName.Text;
    dr["Number"] = txtNumber.Text;
    dt.Rows.Add(dr);
}

private void BindGrid()
{
    GridView1.DataSource = dt;
    GridView1.DataBind();
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM