首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >telerik雷达网格的客户端绑定在数据库后不更新

telerik雷达网格的客户端绑定在数据库后不更新
EN

Stack Overflow用户
提问于 2011-08-15 19:41:22
回答 2查看 8.1K关注 0票数 3

我正在尝试使用客户端api绑定一个radgrid。

我发出对javascript函数DoUpdate(sbiId)的调用

代码语言:javascript
运行
复制
function DoUpdate(sbiId) {
    var input = '{"SbiId":"' + sbiId+ '"}';
    var dataSource;

    $.ajax({ url: "http://localhost/Meta.WebService/DataService.svc/GetData",
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: input,
        dataType: "json",
        success: function(data) {
            updateGrid(data);
        }
    });
}

function updateGrid(result) {
    var mtv = RadGridSprintBackLogItemDetailsInstance().get_masterTableView();
    mtv.set_dataSource(result);
    mtv.dataBind();
}

ajax调用返回看似正确的JSON数据;以下是每个提示器的响应内容:

{"d":{"_type":"SBIRevision:#Meta.Scrum",“AssignedTo”:“罗杰·吴”,“ChangedBy”:“鲍勃·洪”,“ChangedDate”:“2011年8月8日3:48:31下午”,“描述”:“状态”:“未完成”,“标题”:“火星单元试验”,"WorkEstimate":"50","WorkRemaining":"50"},{"_type":"SBIRevision:#Meta.Scrum","AssignedTo":"Roger Ng","ChangedBy":"Roger Ng","ChangedDate":"8/8/2011 5:12:46 PM","Description":"","State":"In Progress",“Title”:“火星单元测试”,"WorkEstimate":"50","WorkRemaining":"50"},{"_type":"SBIRevision:#Meta.Scrum","AssignedTo":"Roger Ng","ChangedBy":"Roger Ng",“ChangedDate”:“8/8/2011PM 5:13:39 PM”、“描述”:“”、“国家”:“进行中”、“标题”:“火星单元测试”、"WorkEstimate":"50“、"WorkRemaining":"50"}、{"_type":"SBIRevision:#Meta.Scrum”、"AssignedTo":"Roger Ng“、"ChangedBy":"Roger Ng”、"ChangedDate":"8/8/2011 : 5:14:25“,“描述”:“运行into...pointing到错误的构建服务”、“状态”、“正在进行中”、“标题”:“火星单元测试”、"WorkEstimate":"50“、"WorkRemaining":"50"}、{"_type":"SBIRevision:#Meta.Scrum”、"AssignedTo":"Roger Ng“、"ChangedBy":"Bob雄”、"ChangedDate":"8/10/2011 10:59:09 AM",“描述”:“运行into...pointing到错误的构建服务”、“状态”、“正在进行中”、“标题”:“火星单元测试”、"WorkEstimate":"50“、"WorkRemaining":"50"}、{"_type":"SBIRevision:#Meta.Scrum”、"AssignedTo":"Roger Ng“、"ChangedBy":"Roger Ng”、"ChangedDate":"8/11/2011 12:04:09 PM",“描述”:“运行into...pointing到错误的构建服务”、“状态”:“已完成”、“标题”:“火星单元测试”、"WorkEstimate":"50“、”WorkRemaining“:”50“}

下面是我如何在aspx页面上声明我的雷达栅格

代码语言:javascript
运行
复制
<telerik:RadGrid runat="server" ID="RadGridSprintBackLogItemDetails" EnableViewState="false" EnableEmbeddedSkins="false" Skin="Meta">
    <MasterTableView AutoGenerateColumns="false" EnableNoRecordsTemplate="true" ShowHeadersWhenNoRecords="true">
        <ItemStyle Wrap="false"></ItemStyle>
        <NoRecordsTemplate>
            <div style="margin-left: 5px;">
                Select a Sprint Backlog Item (SBI) from above to view its Revisions</div>
        </NoRecordsTemplate>
        <Columns>
            <telerik:GridBoundColumn DataField="ChangedDate" HeaderText="Changed Date">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Title" HeaderText="Title">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="Description" HeaderText="Description">
            <ItemStyle Wrap="false"></ItemStyle>
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="AssignedTo" HeaderText="Assigned To">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="WorkEstimate" HeaderText="Work Estimate">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="WorkRemaining" HeaderText="Work Remaining">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="State" HeaderText="State">
            </telerik:GridBoundColumn>
            <telerik:GridBoundColumn DataField="ChangedBy" HeaderText="Changed By">
            </telerik:GridBoundColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

奇怪的是,在返回和绑定数据之后,就会出现“无记录”模板。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-15 20:41:11

按照以下方式更改您的updateGrid函数(绑定时使用result.d ):

代码语言:javascript
运行
复制
function updateGrid(result) {
  var mtv = RadGridSprintBackLogItemDetailsInstance().get_masterTableView();
  mtv.set_dataSource(result.d);
  mtv.dataBind(); 
}

希望这个能帮上忙。

票数 5
EN

Stack Overflow用户

发布于 2011-08-16 07:59:46

在与set_dataSource()绑定时,需要传递数据对象的实际数组。您获得的jQuery结果包含名为.d的字段中的数据数组。这就是为什么您需要使用result.d

另外,您知道RadGrid可以自动绑定到Web吗?有关实际示例,请参阅RadGrid的.NET 3.5客户端DataBinding演示。服务设置是通过标记在RadGrid定义中指定的。然后,RadGrid自动连接到数据服务,检索结果和数据库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7069850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档