2012-07-18 114 views
1

得到了一個綁定到LinqDataSource的GridView,它從MsSQL數據庫視圖中獲取其數據。使用LinqDataSource從Gridview中刪除

此視圖拉入各種表中以生成我想要的列表。這一切工作正常。

但是,我無法刪除,當我嘗試並使用刪除時,我收到錯誤消息: 無法對'Table(vwMyView)'執行Create,Update或Delete操作,因爲它沒有主鍵。那裏有一些表中有主鍵,我已經把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而不是視圖,所以我該怎麼做?

回答

0

你嘗試在GridView

AutoGenerateEditButton="true" 
AutoGenerateDeleteButton="true" 
0

以下特性讓我們退後一步......這是一個只讀的或可更新的看法?

如果視圖是隻讀的,那麼你需要重新配置你的LinqDataSource來引用MyTable而不是視圖。但是,如果它是可更新的視圖,則可以執行INSERT,UPDATE和DELETE操作。