我正在尝试制作一个非常简单的asp.net页面,该页面使用具有可编辑行的Linq2SQL绑定GridView。我基本上想添加2个ButtonField,即“编辑”和“删除”。单击“删除”后,将删除该行,单击“编辑”后,每个自动生成的列都将变为文本框且可编辑,并出现一个新按钮“保存”。单击“保存”按钮后,将重新加载页面,并在数据库中更新已编辑的条目。我并不真正担心错误检查或任何花哨的事情,我只想一种快速编辑表的方法。

我试图使这种通用,以便我可以使用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)绑定网格。这样,您可以直接在模型中指定在编辑和删除事件中发生的事情。它还将为您提供内置的分页/排序功能。

关于c# - 具有自动生成列的可编辑GridView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9764294/

10-12 00:17
查看更多