【问题标题】:How to get values from infragistic table如何从基础表中获取值
【发布时间】:2013-03-05 09:30:51
【问题描述】:

我需要从单元格表中获取值。如果您知道该怎么做,我将不胜感激。

尝试了几天,但我不知道如何获取 columnID 和 ROWID

我找到了这个,但它不起作用

.igGrid( "getCellValue", rowId:object, colKey:string );

这是代码(如何从表中获取值)?

$.ig.loader(function () {
$("#grid2").igGrid({

autoGenerateColumns: false,
renderCheckboxes: true, 

columns:[                
            { headerText: "X", key: "x", dataType: "number", width: "40%"},
            { headerText: "Y", key: "y", dataType: "number", width: "40%"},
            { headerText: "Z", key: "z", dataType: "number", width: "40%"},

        ],

//dataSource: data,

height: "400px",
width: "100%",
features:[
            {
                name: "Filtering",
                allowFiltering: true,
                type: "local"
            },
            {
                name: "Selection",
                mode: "row"
            },
            {
                name: "Updating",
                enableAddRow: false,
                editMode: "row",
                // event raised after end row editing but before dataSource was updated
                editCellEnding: function (evt, ui) {
                    // get cell’s checkbox value when it is changed
                    if (ui.update) {
                        if (ui.columnKey === "nid") {
                            logEvent("editCellEnded event fired. Column Key = " +
                        ui.columnKey + "; Row Index = " +
                        ui.rowID + "; Cell Value = " +
                        ui.value + "; Update = " +
                        ui.update);
                        }
                    }
                },
                enableDeleteRow: false,
                columnSettings: [
                {
                    columnKey: "x",

                }, 
                {
                    columnKey: "y"
                }, 
                {
                    columnKey: "z"
                }]
            }

        ]
});

$.ajax({
    type: "POST",
    url: "http://cmsdemo.trueoffice.com/feature-json",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data){
        $("#grid2").igGrid({
        dataSource: data 
     });
    }
});
    $("#grid2").live("iggridupdatingdatadirty", function (event, ui) {
            $("#grid2").igGrid("commit");
            return false;
        });
    // show the raised event
        function logEvent(message) {
            var evntWrap = $("#eventList");
            $(evntWrap).append("<div>" + message + "<div>");
            $(evntWrap).prop("scrollTop", $(evntWrap).prop("scrollHeight"));
        }
 });

//Functions         
function Filter() {
      var columnSettings = $("#grid1").igGridFiltering("option", "columnSettings");

        var expr = $("#filterExpr").val(),
            condition = $("#cond_list").val(),
            filterColumn = $("#filterColumn").val();
        $("#grid1").igGridFiltering("filter", ([{fieldName: filterColumn, expr: expr, cond: condition}]));
    }

    function SetConditions() {
        var filterColumn = $("#filterColumn").val();
        $("#cond_list option:selected").removeAttr("selected");
        if (filterColumn === "title" || filterColumn === "nid") {
         $("#cond_list .stringCondition").attr("disabled", "disabled");
         $("#cond_list .numberCondition").removeAttr("disabled").eq(0).attr("selected", "selected");
        }
        else {
            $("#cond_list .stringCondition").removeAttr("disabled").eq(0).attr("selected", "selected");
            $("#cond_list .numberCondition").attr("disabled", "disabled");
        }
    }
    function buttonClickHandler(buttonId) {
    alert("Button with id " + buttonId + " was clicked");
}   

【问题讨论】:

  • 究竟是什么不起作用?你能显示预期的输出和实际的输出吗?你能把代码贴在你检索值的地方吗?
  • @Harko 请在下面查看我的答案...我的示例/更改将适用于您的代码

标签: jquery html infragistics ignite-ui iggrid


【解决方案1】:

有时 IG 很令人沮丧。但是,您有几个选择。如果您只关心您可以看到的列...即,您隐藏了一些列但您不需要访问它们,那么您可以在editRowEndeditRowEnding 事件触发时访问 ui 对象.否则,需要使用底层dataSourcedataView。以下是所有内容的外观,包括网格:

 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
        }
    },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-01
    • 2011-05-12
    • 2012-09-04
    • 1970-01-01
    • 2021-12-18
    • 2016-06-07
    • 2019-10-19
    相关资源
    最近更新 更多