我是flexigrid的新手。谁能让我知道如何获取所选行的每一列值?

如何获取每个列名(reportName和reportDescription)?因为我将//将所有数据推入数组,如下所述。

我正在使用下面的代码来获取选定的行。但它返回null。您能帮我吗?

//Column. <br/>


colModel: [
  { display: 'WidgetID', name: 'WidgetID', width: 50, sortable: true, align: 'left', hide: true },
  { display: 'Widget Name', name: 'WidgetName', width: 170, sortable: true, align: 'left' },
  { display: 'IsClientReport', name: 'IsClientReport', width: 50, sortable: false, align: 'left', hide: true },
  { display: 'ClientReportID', name: 'ClientReportID', width: 50, sortable: false, align: 'left', hide: true },
  { display: 'ReportType', name: 'ReportType', width: 280, sortable: true, align: 'left' }
],

$('#grid01').click(function(event){
  $('.trSelected', this).each( function(){
      console.log( ' rowId: ' + $(this).attr('id').substr(3) + ' IsClientReport: ' + $('td[abbr="IsClientReport"] >div', this).html() + ' sign: ' + $('td[abbr="WidgetID"] >div', this).html() + ' ReportType: ' + $('td[abbr="ReportType"] >div', this).html() );
  });
});


谢谢,
庞库玛·潘甸

最佳答案

不知道您是否已经解决了这个问题,但是如果有其他情况相同的人像我一样偶然遇到您的问题,我将在此处保留此答案。

在列上设置“ sortable:false”会从Flexigrid生成的“ td”中删除“ abbr”属性。这意味着您不能使用推荐的解决方案来获取所选行。

我自己修改了flexigrid.js文件以解决此问题。

Flexigrid以前仅在列具有“名称”且具有“ sortable:true”的情况下才添加“ abbr”属性。我删除了“ sortable:true”的条件。

反过来,这也意味着这些列将始终是可排序的。
为防止这种情况,我添加了“可排序”属性,该属性仅在列为“可排序:真”时设置

之后,我必须仔细检查所有使用“ abbr”作为排序条件的情况,然后用“ sortable”的检查取而代之。

而已。

uploaded the file to mediafire如果您只是想下载并使用它。非特定位置的更改太多,因此我无法在此处显示代码更改。如果需要,我可以提供差异或更多解释。请注意,“ sortable:true”仍适用于我的修复程序。

10-04 16:19