1

我整理了一个简单的 jsfiddle 来演示这个问题。它有一个带有两条记录的网格。一个在布尔列中有一个真值,另一个有一个假。

我已将数据记录到控制台,因此您可以看到网格正在获取的值。

然而,网格对两行都显示为 false。

http://jsfiddle.net/codeowl/KhBMT/

谢谢你的时间,

斯科特

StackOverflow 的代码:

var _Data = [
    { "SL_TestData_ID": "1", "SL_TestData_String": "Bool is 1", "SL_TestData_Boolean": "1" },
    { "SL_TestData_ID": "2", "SL_TestData_String": "Bool is 0", "SL_TestData_Boolean": "0" }
];

var _kendoDataSource = new kendo.data.DataSource({
    transport: {
        read: function (options) {
            console.log('Transport READ Event Raised - Data: ', JSON.stringify(_Data, null, 4));
            options.success(_Data);
        }
    },
    schema: {
        model: {
            id: "SL_TestData_ID",
            fields: {
                SL_TestData_ID: { editable: false, nullable: false },
                SL_TestData_String: { type: "string" },
                SL_TestData_Boolean: { type: "boolean" }
            }
        }
    },
    error: function (a) {
        $('#TestGrid').data("kendoGrid").cancelChanges();
    }
});

// Initialize Grid
$("#TestGrid").kendoGrid({
    columns: [
        { field: "SL_TestData_ID", title: "ID" },
        { field: "SL_TestData_String", title: "String" },
        { field: "SL_TestData_Boolean", title: "Boolean" }
    ],
    dataSource: _kendoDataSource
});
4

1 回答 1

0

我发现,如果我更改我的选择语句以为数据库中的 TINYINT 列返回“TRUE”/“FALSE”,它会起作用。例如;

SELECT 
    SL_TestData_ID,
    SL_TestData_Number, 
    SL_TestData_String, 
    SL_TestData_Date, 
    SL_TestData_DateTime,
    if (SL_TestData_Boolean = 1, "TRUE", "FALSE") as SL_TestData_Boolean
FROM
    SL_TestData;

问候,

斯科特

于 2013-05-23T05:09:48.993 回答