只要删除对象源,EventArgs e并从page_load调用方法,此方法就会正确加载数据并将其绑定到infragistics控件。
删除对象源,eventArgs e?
是个好主意protected void dgvAppts_NeedDataSource(object source, EventArgs e)
{
if (Session.IsNewSession == false)
{
DataTable ApptTable = new DataTable();
ApptTable = objGatewayFunctions.GetAppointmentReCap(Session["LoginID"].ToString(), RecapDate.ToShortDateString(), "R", ConfigurationManager.AppSettings["Connection"].ToString());
this.dgvAppts.DataSource = ApptTable;
//if (ApptTable.Rows.Count == 0)
//{
// this.uwtTabs.Tabs(0).Style.ForeColor = System.Drawing.Color.Gray;
//}
//else
//{
// this.uwtTabs.Tabs(0).Style.ForeColor = System.Drawing.Color.Black;
//}
}
}
如果最好有对象源,则EventArgs e存在于方法中。如何调用该函数以便它可以加载WebDataGrid?
答案 0 :(得分:1)
您需要将方法作为事件处理程序分配给网格控件中的NeedDataSource
事件。
在设计器中选择您的网格,打开“属性”窗口,然后选择您的方法作为NeedDataSource
事件的事件处理程序。
看起来这个方法与事件分离了,这就是你必须自己调用它的原因。它应该是网格控件,当它需要数据源时通过引发事件来调用你的方法。
答案 1 :(得分:1)
我不认为Infragistics WebDataGrid有NeedDataSource事件;听起来好像是使用Telerik控件转换代码。
如果是这种情况,则无需调用方法
protected void dgvAppts_NeedDataSource(object source, EventArgs e)
您可以将其称为
之类的内容protected void BindMyGrid()
并确实从页面加载中调用它(只有在页面不处于回发模式时才可能检查它)