abc*_*123 2 infragistics ignite-ui iggrid
我正在使用Ignite UI网格.
列是从数据库动态构建的,如下所示: -
$.post('/Main/GetColumns',function(data){
$("#mygrid").igGrid({
columns: data,
width: "100%",
height: "100%",
})
});
Run Code Online (Sandbox Code Playgroud)
问题是我不知道哪个列将是数据类型号,因为数据是从数据库中为列提交的,我必须右对齐数字列.
我发现的唯一代码是
args.owner.element.find("tr td:nth-child(3)").css("text-align", "right");
Run Code Online (Sandbox Code Playgroud)
将第3列设置为右对齐.由于我不知道列顺序,我只留下检查数据类型并右对齐列,
有没有办法根据数据类型或任何其他方法对齐列?
数据类型,如果列用于表示(格式化)和编辑行为,但没有生成额外的标记,您可以使用它来定位样式.
但是,您正在构建列定义服务器端,在创建定义时,您确切知道每列的类型,不是吗?
更新:自原始答案以来已经有一段时间了,为了将来参考,您可以使用columnCssClass将您的类应用于实际的TD而不是模板.后者仍然是高级修补的有效选择.
我能想到的最简单的方法是通过列模板 - 这样你就可以为列添加任何样式/格式.例如,根据您需要的任何逻辑,您将返回一些列:
{
key: 'status',
dataType: 'bool',
headerText: 'Status',
template: '<div class="rightAlign"> ${status} </div>'
}
Run Code Online (Sandbox Code Playgroud)
你申请"text-align:right;" 虽然类和跳过为应该默认的列添加模板.由于此定义是在服务器上生成的(假设我的示例使用Node.js:P),您可以将这些模板设置为静态,或者每次都创建不同的模板 - 这取决于您.
JSFiddle:http://jsfiddle.net/damyanpetev/wsZ8c/
注意:在这种情况下,请确保使用块(div,p),因为您需要一些占用整个网格单元格的内容以便对齐文本.
如果该解决方案不适合,您将需要浏览列并在客户端上以您想到的类似方式应用样式.