我的客户提出了如下要求:
他只想在GridView中插入,更新,删除记录。他希望所有数据都存在于TextBoxes和DropDownList控件中(即不在标签控件中)。如果他想更新任何记录,那么他想直接更新那里的记录并点击“更新”按钮。他不想单击“编辑”链接以在“编辑”模式下获取记录。
如何实现此功能?我还应该在设计GridView时考虑引用列。即一些模板也将包含DropDownList项目。
任何人都可以建议我怎么做。一些建议或一些学习的链接是值得赞赏的。
请帮我解决这个问题。
答案 0 :(得分:1)
结帐此链接:http://geekswithblogs.net/dotNETvinz/archive/2009/08/09/adding-dynamic-rows-in-asp.net-gridview-control-with-textboxes-and.aspx。 在这个例子中,作者只使用TextBoxes,但是DropDownList可以以类似的方式使用,从链接中你至少可以了解在GridView单元格中使用控件然后检索它们包含的数据。
答案 1 :(得分:1)
您可以在模板字段
中将所需字段添加到网格视图中 <asp:TemplateField HeaderText="fieldname" >
<ItemTemplate>
<asp:TextBox ID="txbType" Text='<%# Eval("field") %>' runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
然后在后端代码中
protected void Gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int index = Convert.ToInt32(e.RowIndex.ToString());
GridViewRow row = GV.Rows[index];
var txbName = row.FindControl("txbType") as TextBox;
string name = "";
if (txbName != null)
{
name = txbName.Text.Trim();
}
if (true)
// your update function
}
删除
相同protected void Gv_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
}