2011-09-27 71 views
2

這是我的標記:如何以編程方式將新行添加到按鈕單擊處理程序上的gridview?

<asp:Button runat="server" ID="btnabc" Text="Hello" 
     onclick="abc_Click" /> <br /> <br /> 



    <asp:GridView runat="server" ID="test" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField> 

      <ItemTemplate> 
       <asp:TextBox runat="server" ID="txt" Text = "<%# Container.DataItem %>" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
    </asp:GridView> 

這是我的按鈕單擊處理程序:

protected void abc_Click(object sender, EventArgs e) 
     { 

     } 

我找不到像gridview.Rows.Add()任何方法。

回答

2

你不知道。但是你可以簡單而直接地將一個新項目添加到你的網格的數據源中,並且你完成了。

+0

是的,這是最簡單的方法,但我試圖以編程方式添加控件。 gridview.Controls.Add(行);其中row是GridViewRow的實例。但這隻適用於第一次。任何想法爲什麼? – TCM

+0

是的:當你這樣做,它不會去ViewState,所以它會丟失。每回發一次,你都必須繼續這樣做。說真的,你最好是處理DataSource。你意識到,比方說,一個對象列表可以是一個數據源,對嗎?也許你可以探索一下。 –

+0

是的我意識到你可以設置列表,並根據你的GridView模板它將佈局項目。正如我所說的最簡單和最好的解決方案!但我只是在嘗試新的東西,但我知道這是不可能的。謝謝。 – TCM

1

嘗試向數據源對象添加一行,然後重新綁定GridView。

相關問題