C# Telerik在按下键时加载两个雷达栅格
我有一个按钮,可以加载两个网格。第一个是“国家”(快速从数据库获取数据)。第二个是“城市”(缓慢地从数据库获取数据)。在aspx.cs中,它看起来像:C# Telerik在按下键时加载两个雷达栅格,c#,asp.net,telerik,C#,Asp.net,Telerik,我有一个按钮,可以加载两个网格。第一个是“国家”(快速从数据库获取数据)。第二个是“城市”(缓慢地从数据库获取数据)。在aspx.cs中,它看起来像: grdCities.DataSource = doWork1(); grdCities.DataBind(); grdCountries.DataSource = doWork2(); grdCountries.DataBind(); 当相应网格的数据准备就绪时,是否有一种方法可以使它们彼此独立地分页? 我是否应该使用服务器端的线程和ajax
grdCities.DataSource = doWork1();
grdCities.DataBind();
grdCountries.DataSource = doWork2();
grdCountries.DataBind();
当相应网格的数据准备就绪时,是否有一种方法可以使它们彼此独立地分页?
我是否应该使用服务器端的线程和ajax将其发送到页面,以及如何做到这一点?请创建新的网页,并尝试使用下面的代码片段 .ASPX
<!DOCTYPE html>
<html>
<head runat="server">
<title></title>
<script src="Script/jquery-1.8.2.js"></script>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script>
$(document).ready(function () {
});
function testclick() {
var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
ajaxManager.ajaxRequest("RadGrid1");
ajaxManager.ajaxRequest("RadGrid2");
return false;
}
</script>
</telerik:RadCodeBlock>
</head>
<body>
<form id="form1" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest" RequestQueueSize="10">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
<telerik:AjaxUpdatedControl ControlID="RadGrid2" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid ID="RadGrid1" runat="server"></telerik:RadGrid>
<telerik:RadGrid ID="RadGrid2" runat="server"></telerik:RadGrid>
<asp:Button ID="Button1" runat="server" OnClientClick="return testclick();" />
</form>
</body>
</html>
如果有任何问题,请告诉我
谢谢,
贾耶什·戈亚尼
public partial class Forum : System.Web.UI.Page
{
protected void Page_Init(object source, System.EventArgs e)
{
}
protected void Page_Load(object sender, EventArgs e)
{
}
private void NewMethod()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Custom1", typeof(string));
dt.Rows.Add(1, "name1", "custom1");
dt.Rows.Add(2, "name2", "custom2");
dt.Rows.Add(3, "name3", "Radgrid1_" + DateTime.Now.ToString());
RadGrid1.DataSource = dt;
RadGrid1.DataBind();
}
private void NewMethod2()
{
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Custom1", typeof(string));
dt.Rows.Add(1, "name1", "custom1");
dt.Rows.Add(2, "name2", "custom2");
dt.Rows.Add(3, "name3", "Radgrid2_" + DateTime.Now.ToString());
RadGrid2.DataSource = dt;
RadGrid2.DataBind();
}
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
if (e.Argument == "RadGrid1")
{
NewMethod();
}
else if (e.Argument == "RadGrid2")
{
Thread.Sleep(5000);
NewMethod2();
}
}
}