-1

只要我删除对象源 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?

4

2 回答 2

1

您需要将您的方法作为事件处理程序分配给NeedDataSource网格控件中的事件。

在设计器中选择您的网格,打开“属性”窗口并选择您的方法作为事件的事件处理程序NeedDataSource

看起来该方法已与事件分离,这就是您必须自己调用它的原因。它应该是网格控件在需要数据源时通过引发事件来调用您的方法。

于 2012-08-02T21:51:14.723 回答
1

我不认为 Infragistics WebDataGrid 有 NeedDataSource 事件;听起来代码是从使用 Telerik 控件转换而来的。

如果是这种情况,则无需调用该方法

protected void dgvAppts_NeedDataSource(object source, EventArgs e)

您可以将其称为

protected void BindMyGrid()

并确实从页面加载中调用它(只有在页面未处于回发模式时才可能检查)

于 2012-08-02T21:59:56.953 回答