如何将boundfield值设置为模板字段控件?

时间:2013-08-02 17:26:29

标签: c# asp.net gridview

enter image description here

我有这样的gridview输出。

当我点击编辑链接时,我需要传递unitsinstock值应转移到文本框控件。它出现在templatefield中。

这是我的c#代码:

TextBox tt = (TextBox)GridView1.Rows[i].Cells[3].FindControl("TextBox2").ToString();

TextBox text_ref = (TextBox)GridView1.Rows[e.NewEditIndex].Cells[2].FindControl("TextBox2");

TextBox3.Text = text_ref.Text;

有什么不对吗?当我调试e.NewEdtIndex=0TextBox3=null时。怎么解决这个问题?

1 个答案:

答案 0 :(得分:2)

您应该使用EditItemTemplate。例如,当您编辑行时,上面的代码会将 unitsinstock 值绑定到 unitsinstock copy 文本框。

也改变SqlDataSource:

<UpdateParameters>
    <asp:Parameter Name="unitsinstock" Type="Int32" /> /*Put the correcly type here*/
    /*other fields*/
</UpdateParameters>

GridView:

<asp:TemplateField HeaderText="unitsinstock">
  <ItemTemplate>
<asp:label id="labelUnitsinstock" runat="server" text='<%#Eval("unitsinstockActual")%>'>
    </asp:label>
  </ItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="unitsinstock copy">
  <EditItemTemplate>
    <asp:TextBox ID="TextBox1" runat="server"
     Text='<%# Bind("unitsinstock") %>'></asp:TextBox>
  </EditItemTemplate>
</asp:TemplateField>

请点击此处了解更多信息Using TemplateFields in the GridView Control