如何将null值绑定到包含可编辑格式的所有行的jqgrid

时间:2013-11-20 10:58:53

标签: jqgrid html-select

我在我的asp.net应用程序中使用jqgrid。我在jqgrid的LoadComplete触发器中创建了可编辑fomat中的所有网格行,如下所示:

 ids = $("#grid").jqGrid('getDataIDs');
                    var l = ids.length;
                    for (var i = 0; i <= l; i++) {
                        $("#grid").jqGrid('editRow', ids[i], true);
}

在其中两列中,我有下拉列表。在这里,基于外部下拉列表更改,一些行被添加到jqgrid。

添加时,它们最初包含Null值。

因此,为了在网格中显示空值。我正在添加一个列表项,以显示它们。

问题出在这里,我不应该允许用户再次选择空值。

所以,我只需要在下拉列表中选择一个选项之前的那个选项。

以后,它不应该是可见的或可选择的。

请帮忙...

更新

最初网格不包含任何行..

在下拉列表更改中,网格会刷新,并根据下拉列表选择添加新行。

网格数据

for example:     
  col1  col2  col3  col4

  Item1 Null  null  null
  Item2 Null  Null  Null

同样如下:

此处,Col1不可编辑,其余部分均可编辑。

Col2和Col4是下拉列表

我使用

将选择选项加载到下拉列表中
 editoptions: {
                    value: { " ": " ", "option1": "option1", "option2": "option2", "option2": "option2", "option3": "option3" },

在这里,我的问题是......用户不应该选择那个空选项。

我已将其包含在初始数据绑定中。  如果我不包括那个空选项(“”) 然后显示下拉列表,选项1为默认值,但用户尚未选择任何选项。

1 个答案:

答案 0 :(得分:1)

我不确定我理解你的问题是否正确。如果您只需要从下拉列表中删除null""条目,则可以使用dataIniteditoptions的属性)执行此操作。相应的代码可以是以下

dataInit: function (elem) {
    $(elem).find("option[value=\"\"]").remove();
}

可能其他实施可能对您更好。例如,如果当前所选选项为"",则可以取消选择任何选项。有关详细信息,请参阅the answer。无论如何,我认为您应该使用dataInit进行一些更正。