javascript - Conditionally expand row in kendo grid - Stack Overflow

In my Kendo grid, I am trying to check if one of my column fields is true or false. If it is true, row

In my Kendo grid, I am trying to check if one of my column fields is true or false. If it is true, row should be expanded, if it is false, row should stay collapsed. My code definition for column is:

{
  field: "Comment",
  title: txt.TXT_COMMENT,
  template: '<input type="checkbox" #= Comment ? "checked" : "" # disabled="false" ></input>',
},

My code condition in dataBound for checking if there is data:

dataBound: function (e) {
  var data = this.dataItem;
  if (data.Comment == 1) {
    this.expandRow(this.tbody.find("tr.k-master-row"));
  }
  f_OnDataBound(e);
}

Thanks for your help!

In my Kendo grid, I am trying to check if one of my column fields is true or false. If it is true, row should be expanded, if it is false, row should stay collapsed. My code definition for column is:

{
  field: "Comment",
  title: txt.TXT_COMMENT,
  template: '<input type="checkbox" #= Comment ? "checked" : "" # disabled="false" ></input>',
},

My code condition in dataBound for checking if there is data:

dataBound: function (e) {
  var data = this.dataItem;
  if (data.Comment == 1) {
    this.expandRow(this.tbody.find("tr.k-master-row"));
  }
  f_OnDataBound(e);
}

Thanks for your help!

Share Improve this question asked Jul 13, 2015 at 14:18 AviatorAviator 6134 gold badges11 silver badges27 bronze badges 2
  • At first sight, your databound function won't work because this won't have dataItem. Can you produce a fiddle that illustrates your problem? I can see that can't work but it's too few code for me to be able to help – chiapa Commented Jul 13, 2015 at 14:50
  • my code is unfortunately too big and gets data from local database :/ – Aviator Commented Jul 13, 2015 at 14:55
Add a ment  | 

1 Answer 1

Reset to default 4

You are on the right direction by using the databound event. What you need to do after it is, iterating through all the rows and check for a specific model property and expand, or not, that specific row.

var grid = $("#grid").data("kendoGrid");       
var data = grid.dataSource.data();
var len = data.length;

for(var i = 0; i < len; i++) {
    var row = data[i];
    if(row.Comment == '1') { // checks for the value of the Comment property
        grid.expandRow("tr[data-uid='" + row.uid + "']"); // expands the row with the specific uid
    }
}

I tested this and works perfectly. I can't know what's on the Comment propery though, that's up to you to control and adapt the javascript function if needed.

EDIT

I have created a fiddle that demonstrates the above strategy. In the example the dataBound function looks for the property "name" and expands the row if it is "Sally"

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744965343a4603644.html

相关推荐

  • javascript - Conditionally expand row in kendo grid - Stack Overflow

    In my Kendo grid, I am trying to check if one of my column fields is true or false. If it is true, row

    1天前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信