データベースからの結果を表示するために JQGrid を使用しています。ここで、ユーザーごとに行を更新する必要があります。Inline Navigator を使用しようとしました。グリッドを作成するために次のコードを使用しました。
$("#MyGrid").jqGrid({
url: service,
datatype: "json",
mtype: 'GET',
colNames: ['Col1', 'Col2'],
colModel: [
{ name: 'Col1', index: 'Col1', sortable: true, resizable: true, editable: true, sorttype: "text" },
{ name: 'Col2', index: 'Col2', align: 'left', sortable: true, resizable: true, width: 50, editable: true },
pager: '#pagerLab',
rowNum: 1000,
rowList: [10, 30, 100, 1000],
sortname: 'modified',
viewrecords: true,
gridview: true,
loadonce: true,
editurl: '/Service.svc/UpdateGrid',
});
jQuery("#MyGrid").jqGrid('navGrid', "#pagerLab", { edit: true, add: false, del: false, search:false });
jQuery("#MyGrid").jqGrid('inlineNav', "#pagerLab");
}
ユーザーの変更をデータベースに保存するためのサーバー側コードの書き方がわかりません。AJAX 対応の Web サービスを使用しています。
グリッドを表示するための Web サービス コードは次のとおりです。
[OperationContract]
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
public JQGridViewTable MyGrid(string ID)
{
Reader reader = new Reader();
return Reader.ReadDetails(ID);
}
そして、リーダークラス(データモデル内)の私のC#コード:
public JQGridViewTable ReadDetails(string ID)
{
JQGridViewTable table = new JQGridViewTable();
// read data from database and store in table
return table;
}
次のことについて助けが必要です:
1- Get の代わりに Post を使用する必要がありますか? 1 つの関数でグリッドの表示と編集を行っていることに注意してください。2- Javascript に他に何か追加する必要はありますか? たとえば、編集機能や復元機能はありますか? ドキュメントでは、インライン編集では編集および復元機能がありますが、インラインナビゲーションでは機能しません。3- 編集のために Web サービスに送信されるデータの形式は? 表示する場合は、JQGridView 形式です。4- Web サービスに UpdateGrid メソッドを実装する方法がわかりません。インライン ナビゲーターの機能が正確に何をしているのか、Web サービスに送信しているデータ、サーバーから期待しているデータがわからないためです。
私はウェブ全体を検索しましたが、誰もがそれを別の方法で使用しています. 助けていただければ幸いです。