0

インライン編集でjqgridを使用している場合、ユーザーが更新のために「Enter」ボタンを押す必要がある特定のセル値を編集した後、ユーザーがセルを離れるときに直接更新する必要があります。

Jqueryコード

<script type="text/javascript">
    $(function () {
        var lastsel;
        var colind = 2;
        jQuery("#list").jqGrid({
            url: '/Home/GetStudents/',
            datatype: 'json',

            mtype: 'POST',
            colNames: ['StudentID', 'FirstName', 'LastName', 'Email'],
            colModel: [
      { name: 'StudentID', sortable: false, key: true },
      { name: 'FirstName', key: true },
      { name: 'LastName', sortable: false, key: true },
      { name: 'Email', width: 200, sortable: false, key: true}],
            cmTemplate: { align: 'center', editable: true },
            pager: '#pager',
            width: 750,
            rowNum: 15,
            rowList: [5, 10, 20, 50],
            sortname: 'StudentID',
            sortorder: "asc",
            viewrecords: true,
            caption: ' My First JQgrid',

            onSelectRow: function (StudentID)
            //  onCellSelect:function(StudentID)
            {


                if (StudentID != lastsel) {

                    jQuery('#list').jqGrid('restoreRow', lastsel);
                    jQuery('#list').jqGrid('editRow', StudentID, true);
                    // jQuery('#list').jqGrid('editCell', StudentID, colind, true);
                    lastsel = StudentID;

                }
            },






            editurl: '/Home/About/',
            //                data: { get_param: selectedDescription },
            caption: "jQgrid Sample"

        });

        jQuery("#list").jqGrid('navGrid', "#pager", { edit: false, add: false, del: false });
    });

</script>
4

1 に答える 1

1

検証エラーが発生する可能性があるため、このような動作を実装することはお勧めしません。ユーザーがテキストを変更するために何かを入力し始めた場合でも、入力されたデータは間違っている可能性があります。短い時間間隔の後にデータを自動的に保存すると、完全に間違ったデータを保存しようとする可能性があります。

たとえば、ユーザーが間違ったキーを押すと(数字のみが許可されているフィールドの文字など)、データの保存中にエラーが発生します。

さらに、ユーザーが間違った情報を入力し始めた場合(たとえば、セルから長いテキストを誤って削除する可能性がある場合)、情報を保存してもロールバックは許可されません。に加えて、標準のインライン編集実装サポートEscキーEnter。キーのサポートはEsc非​​常に重要だと思います。

繰り返しになりますが、質問で説明した動作を実装することはお勧めしません。

考慮すべき追加のオプションの1つは、インライン編集の代わりにセル編集を使用することです。個人的にはインライン編集が好きですが、それは好みの問題です。

于 2012-12-04T10:50:14.320 に答える