簡體   English   中英

如何向 GridView 添加新行

[英]How to add new rows to GridView

我正在制作 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 行和按鈕,每次單擊都會為您提供新行。

我不知道你到底在問什么或試圖做什么,但這可能會有所幫助

  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();
}

這對我來說是簡單的方法,希望它有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM