【发布时间】:2016-10-07 18:00:27
【问题描述】:
我正在尝试使用一些基本数据创建 Telerik RadGrid 控件,并且正在使用 here 提供的简单数据绑定方法。
<div id="divRadGrid">
<telerik:RadGrid ID="RadGrid1" runat="server" OnSortCommand="RadGrid1_SortCommand" AllowSorting="True"></telerik:RadGrid>
</div>
这是后面的代码。当用户单击“运行”按钮时,一切正常。但是,如果我单击网格内的任何事件,例如对列进行排序,我会看到页面刷新,但网格不显示任何内容。
非常感谢任何建议。
using System;
using System.Data;
using System.Collections.Generic;
using Telerik.Web.UI;
namespace TelerikDemoWebAppBlank2
{
public partial class Default : System.Web.UI.Page
{
public DataTable SalespersonProductionDT { get; set; }
public DataTable NewBusinessDT { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
}
protected void BtnRun_Click(object sender, EventArgs e)
{
getData();
processNewBusiness();
}
protected void RadGrid1_SortCommand(object sender, GridSortCommandEventArgs e)
{
dataBindGrid(RadGrid1, NewBusinessDT);
}
private void getData()
{
SalespersonProductionDT = new DataTable();
Sprocs._pDash_SalespersonProduction(BeginDate.SelectedDate.Value, EndDate.SelectedDate.Value, SalespersonProductionDT);
NewBusinessDT = new DataTable();
Sprocs._pDash_NewBusiness(BeginDate.SelectedDate.Value, EndDate.SelectedDate.Value, NewBusinessDT);
}
private void processNewBusiness()
{
dataBindChart(RadHtmlChart3, NewBusinessDT);
dataBindGrid(RadGrid1, NewBusinessDT);
}
private void dataBindChart(RadHtmlChart radHtmlChart, DataTable dt)
{
radHtmlChart.DataSource = dt;
radHtmlChart.DataBind();
}
private void dataBindGrid(RadGrid radGrid, DataTable dt)
{
radGrid.DataSource = dt;
radGrid.DataBind();
}
}
}
【问题讨论】:
-
尝试在页面加载方法中进行 IsPostBack 检查和绑定,或者将 DataTable 更改为静态
-
可能你的问题是
postback。查看此帖子stackoverflow.com/questions/34544500/… -
@MethodMan,将我的 DataTable 更改为静态有什么帮助?
-
你一定不熟悉 Postbacks 以及一旦发送到服务器的数据在加载过程中不会保留在页面上但是设置适当的 postback 检查以及重新绑定,你会看到我是什么谈论..