使用LinqDataSource从Gridview中删除

时间:2012-07-18 15:38:13

标签: gridview linqdatasource

将一个gridview绑定到一个LinqDataSource,它从MsSQL数据库视图中获取数据。

这个视图正在拉入各种表来生成我想要的列表。这一切都很好。

但是,我无法删除,当我尝试使用删除时,我收到错误消息: 无法对“表(vwMyView)”执行“创建”,“更新”或“删除”操作,因为它没有主键。那里有很多表都有主键,我将GridView设置为DatakeyName,我想在这种情况下使用'inID'。

我的LDS看起来像这样:

<asp:LinqDataSource runat="server" ID="ldsMain" EnableDelete="True" ContextTypeName="MyCode.Classes.Data.MyDataContext" OrderBy="inFirstName" OnDeleting="ldsMain_OnDeleting" TableName="MyView"></asp:LinqDataSource>

甚至尝试删除OnDeleting。

我需要它直接从主表中删除MyTable而不是View,所以我该怎么做?

2 个答案:

答案 0 :(得分:0)

您是否在GridView

中尝试了以下属性?
AutoGenerateEditButton="true"
AutoGenerateDeleteButton="true"

答案 1 :(得分:0)

让我们退后一步......这是一个只读或可更新的视图吗?

如果视图是只读的,那么您需要重新配置LinqDataSource以引用MyTable而不是视图。但是,如果它是可更新的视图,那么您可以执行INSERT,UPDATE和DELETE操作。