4

我正在处理一项将数据集从 Telerik RadGrid 迁移到尝试设置排序的 Kendo Grid 的任务。对于大多数列,我的排序工作正常,但是有些列的数据字段名称“不明确”(同名)。RadGrid 通过允许我建立一个“UniqueName”来指定哪一列来解决这个问题。

剑道网格示例

    var assignmentColumns = 
    [
        { title: "Last Note Date", field: "NoteDateTime", template: '#= kendo.toString( toDate(NoteDateTime), "M/dd/yyyy h:mmtt" ) #' }
    ];



        var gridDataSource = new kendo.data.DataSource({
            transport: {
                read: {
                    url: '-',
                    type: 'POST',
                    contentType: 'application/json'
                },
                parameterMap: function (options) {
                    return JSON.stringify(options);
                }
            },
            schema: {
                data: 'data',
                total: 'totalItems'
            },
            serverPaging: true,
            pageSize: 10,
            serverFiltering: true,
            serverSorting: true
        });


        $grid.kendoGrid({

            dataSource: gridDataSource,
            pageable: true,
            scrollable: false,
            sortable: {
                allowUnsort: true
            },
            columns: assignmentColumns
        });

Telerik 工作示例

<telerik:RadGrid ID="radGrid_Commentary" AllowSorting="true">
    <MasterTableView>
        <Columns>  
            <telerik:GridBoundColumn DataField="NoteDateTime" UniqueName="cg.Date" HeaderText="Date" DataFormatString="{0:MM/dd/yyyy}" />
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

有人对如何为 kendogrid 列指定“唯一名称”有任何想法吗?

4

1 回答 1

3

好的,经过几个小时的思考和摆弄,我想通了。模板处理屏幕上显示的内容,该字段是排序/过滤器在将信息传递回服务器端排序/过滤时使用的内容。我可能应该早点弄清楚这一点,但我希望这可以帮助其他正在经历类似脑残的人。

从上面修改:

var assignmentColumns = 
[
    { title: "Last Note Date", field: "cg.Date", template: '#= kendo.toString( toDate(NoteDateTime), "M/dd/yyyy h:mmtt" ) #' }
];
于 2013-04-23T18:48:18.723 回答