2

私は現在、次の例のようなインライン編集でInfragistics Gridを使用しています:http: //www.infragistics.com/community/blogs/mihail_mateev/archive/2011/09/25/using-crud-operations-with-jquery -iggrid-entity-framework-and-and-asp-net-mvc3.aspx

複数の既存のデータベースが参照されているため、グリッド上のほとんどのデータがGUIDキーで保持されるという問題が発生しています。問題は、これらのGUIDの非表示列を作成してUIにプッシュできる一方で、Infragisticsから行にアクセスすると、すべての非表示データが破棄されることです(空のGUIDはJSONになります)。

Infragisticsとjqueryの両方で列を非表示にしようとしましたが、Infragisticsがデータにアクセスする方法では、display:noneが設定されていると何も破棄されないようです。

キーを表示せずに参照する方法はありますか?グリッド内でcomboForエディターを使用しましたが、グリッドが変更から更新されたときにvaluekeyを公開しない方法はありません。

4

2 に答える 2

3

このトピックは、数週間前にインフラジスティックフォーラムで議論されました(申し訳ありませんが、リンクが見つかりません)。

問題は、グリッドのCRUD操作用に作成されたトランザクションに非表示の列が含まれていなかったため、トランザクションの逆シリアル化後にサーバー上でそのような非表示の列がNULL値になることでした。これは行の追加/更新の問題であることに注意してください。セル編集モードでは発生しません。

開発チームは、次のサービスリリースに同梱される修正プログラムを準備しました。

これがお役に立てば幸いです。

于 2012-10-23T23:59:44.137 に答える
1

それは時々IGで非常にイライラします。ただし、いくつかのオプションがあります。表示できる列のみを気にする場合...つまり、いくつかの列を非表示にしているが、それらにアクセスする必要がない場合は、editRowEndまたはeditRowEndingイベントが発生したときにuiオブジェクトにアクセスできます。dataSourceそれ以外の場合は、基になるのを使用する必要がありますdataView。グリッドを含め、すべてがどのように表示されるかを次に示します。

 grid = $("#grid").igGrid({
   height: 400,
   width: null,     //if null, the grid should stretch to fit
   virtualization: false,
   autoGenerateColumns: false,
   columns: [
     ......
   ],
   autoupdate: false,
   features: [
    { name: "Updating",
        enableAddRow: true,
        enableDeleteRow: true,
        editMode: 'row',
        editMode: 'cell',
        enableDataDirtyException: false,
        rowAdded: function(evt, ui) {
          alert("this is a visible column (title): " + ui.values.title);
        },
        editRowEnded: function(evt, ui) {
          var row = ui.owner.grid.dataSource.dataView()[ui.owner._rowIndex];
          alert("this is my id column, which is hidden: " + row.id);                  
        },
        rowDeleted: function(e, ui) {
          ... do something
        }
    },
于 2013-07-24T17:09:06.660 に答える