如何在 jqxGrid 中创建动态列 jquery

How to create dynamic columns in jqxGrid jquery

我有一个 jqxGrid,我需要用一些对象填充它。该对象是完全随机的,某些数据字段可能为空。仅当该对象中存在该数据时,我才需要显示特定的列。


columns: [
              { text: 'Application Id', filtertype: 'input', datafield: 'ApplicationId', cellsrenderer: AppIdRenderer, width: appId },
              { text: 'Name', columntype: 'textbox', filtertype: 'input', datafield: 'ApplicantName', width: Applicant },
              { text: 'Submitted Date', datafield: 'SubmitDate', filtertype: 'date', cellsalign: 'left', cellsformat: 'dd/MM/yyyy', width: ApplDate },
              { text: 'Last Action', datafield: 'LastActionDate', filtertype: 'date', cellsalign: 'left', cellsformat: 'dd/MM/yyyy', width: ApplDate },
              { text: 'University', columntype: 'textbox', filtertype: 'checkedlist', datafield: 'AppType', width: UTYApplied },
              { text: 'Course Applied', columntype: 'textbox', filtertype: 'checkedlist', datafield: 'AppliedCourse', width: ApplCourse },
              { text: 'Latest Comments', columntype: 'textbox', filtertype: 'input', datafield: 'LatestComments', width: ApplCourse },
              { text: 'AppStatus', datafield: 'AppStatus' },
              { text: 'Status', columntype: 'textbox', filtertype: 'checkedlist', datafield: 'Status', width: ApplCourse }
]

例如:我只需要在出现数据字段 "LatestComments" 时显示列 "LatestComments"。

关于如何使用 jqxGrid(本地数据源、远程数据源)等,您写得很少。这可能对提出解决方案至关重要。

如果我对你的问题的理解正确,你要么想隐藏要么显示整列,具体取决于在行中某个数据字段是否完全未定义或至少特别填充数据.

为此,您需要处理您的数据并检查这种情况(遍历每一行,检查至少一次数据字段是否包含数据)。然后,在 bindingcomplete 回调中,遍历每一列并应用 showcolumnhidecolumn.