我正在尝试制作一个非常简单的 asp.net 页面,该页面使用具有可编辑行的 Linq2SQL 绑定(bind) GridView。我基本上想添加 2 个 ButtonFields,“编辑”和“删除”。单击“删除”时,该行将被删除,单击“编辑”时,每个自动生成的列都会变成文本框并且可编辑,并且会出现一个新按钮“保存”。单击“保存”按钮后,页面将重新加载,编辑的条目也会在数据库中更新。我并不真正担心错误检查或任何花哨的事情,我只是想要一种快速编辑表格的方法。
我正在尝试使其通用,以便我可以使用 DropDownList 编辑任何表格:
grd.DataSource = db.GetTable(ddlTable.SelectedItem.Text);
grd.DataBind();
<asp:GridView id="grd">
<Columns>
<asp:ButtonField id="edit" Text="Edit"/>
<asp:ButtonField id="delete" Text="Delete"/>
</Columns>
</GridView>
我想我有两个主要问题:
1) 是否可以使用 AutoGenerateColumns="true"来执行此操作,以便每个表都可以编辑,而不必为每个表进行硬编码?
2) 是否有一种直接的方法可以使用内置的 GridView 事件来执行此操作,而无需编写自定义控件?我并不反对最终使用自定义控件,但如果有必要,我想自己编写;我现在正在努力避免这种情况。
最佳答案
1) GridView 具有“AutoGenerateDeleteButton”和“AutoGenerateEditButton”属性,您可以将其设置为 true。
2) 使用数据源(可能是 LinqDataSource)绑定(bind)网格。通过这种方式,您可以直接从模型中指定编辑和删除事件中发生的情况。它还将为您提供内置的分页/排序。
关于c# - 具有自动生成列的可编辑 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9764294/