如何向GridView添加新行

本文关键字:添加 新行 GridView | 更新日期: 2023-09-27 17:51:19

我正在制作ASP.net应用程序,我想在那里有一些表格。我尝试使用Grindview,但当我尝试添加第二个新行(从代码),第二行取代第一行。

代码如下:

DataTable dt = new DataTable();
            if (dt.Columns.Count == 0)
            {
                dt.Columns.Add("thing", typeof(string));
                dt.Columns.Add("thing2", typeof(string));
            }
            DataRow NewRow = dt.NewRow();
            NewRow[0] = label1.Text;
            NewRow[1] = label2.Text;
            dt.Rows.Add(NewRow);
            GridView1.DataSource = dt;
            GridView1.DataBind();

我期待Gridview有2行和按钮,每次点击都会给你新的行。

如何向GridView添加新行

我不知道你到底想要什么,但这可能会有帮助

  protected void Button1_Click(object sender, EventArgs e)
  {
   DataTable dt = new DataTable();
   if (dt.Columns.Count == 0)
   {
       dt.Columns.Add("nameofcolumn1", typeof(string));
       dt.Columns.Add("nameofcolumn2", typeof(string));
       dt.Columns.Add("nameofcolumn3", typeof(string));
   }
   DataRow NewRow = dt.NewRow();
   NewRow[0] = value1;
   NewRow[ 1] = value2;
   dt.Rows.Add(NewRow); 
   GridView1.DataSource = dt;
   GridViewl.DataBind();
   }

也请访问此链接在每个按钮上添加行datagridview

您可以使用循环添加行,在其中创建行,添加内容,然后将行添加到数据表。

DataTable dt = new DataTable();
if (dt.Columns.Count == 0)
{
     dt.Columns.Add("thing", typeof(string));
     dt.Columns.Add("thing2", typeof(string));
}
for(int i = 0; i < 3; i++)
{
     DataRow dr = dt.NewRow();
     dr[0] = "foo";
     dr[1] = "bar";
     dt.Rows.Add(dr);
}

然后将数据表绑定到GridView:

GridView1.DataSource = dt;
GridViewl.DataBind();

如果你有你的前端HTML asp.net代码来定义你的gridview的样式(这里有一个例子):

 <asp:GridView ID="grvModel"  runat="server" AlternatingRowStyle-BackColor="#eeeeee" BackColor="#aaccff"  AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField >
                <ItemTemplate>
                    <asp:Button id="btnDel" CommandName="Delete" OnClientClick="btnDel_click" runat="server"Text="Delete" />
                </ItemTemplate>
         </asp:TemplateField>
        <asp:TemplateField >
                <ItemTemplate>
                    <asp:TextBox runat="server" ID="lblWrite" Text='write here' />
                </ItemTemplate>
         </asp:TemplateField>
    </Columns>
 </asp:GridView>

然后你所要做的就是创建一个List<>的对象并将其绑定到你的gridView,如果你想添加一些东西,只需添加到列表并再次绑定(这是一个例子):

List<aClass> classList;
protected void BindFirstTime(object sender, EventArgs e)
{
    classList= new List<aClass>();
    classList.Add(new aClass("one"));
    classList.Add(new aClass("two"));
    Grv.DataSource = classList;
    Grv.DataBind();
}
protected void AddObject(object sender, EventArgs e)
{
    classList.Add(new aClass("three or more !"));
    Grv.DataSource = classList;
    Grv.DataBind();
}

这是我最简单的方法,希望对你有帮助。