1

MsSQL データベース ビューからデータを取得している LinqDataSource にバインドされたグリッドビューを取得しました。

このビューは、さまざまなテーブルを取得して、必要なリストを作成しています。これはすべて正常に機能しています。

ただし、削除できません。削除しようとすると、次のエラー メッセージが表示されます。主キーがないため、'Table(vwMyView)' に対して作成、更新、または削除操作を実行できません。そこには主キーを持つテーブルがいくつかあり、GridView を、この場合「inID」で使用したい DatakeyName に設定しました。

私の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 であるメイン テーブルから直接削除する必要があるので、どうすればこれを行うことができますか?

4

2 に答える 2

0

で次のプロパティを試しましたかGridView

AutoGenerateEditButton="true"
AutoGenerateDeleteButton="true"
于 2012-10-02T02:54:16.237 に答える
0

一歩戻ってみましょう...これは読み取り専用ビューですか、それとも更新可能なビューですか?

ビューが読み取り専用の場合は、LinqDataSource を再構成して、ビューではなく MyTable を参照する必要があります。ただし、更新可能なビューの場合は、INSERT、UPDATE、および DELETE 操作を実行できます。

于 2013-10-18T17:09:39.350 に答える