我正在尝试填写这样的网格视图:
private void BindGridView(DataTable dTable)
{
gridView.DataSource = dTable;
gridView.DataBind();
}
在同一个.cs文件中,我只使用gridView.DataBind();
,它可以正常工作。
我想知道DataBind()
方法如何引用数据源?
答案 0 :(得分:1)
您只调用DataBind
方法的地方实际上没有任何区别,因为网格视图已经有DataSource
,当您调用此函数时,它再次将其与可用数据源绑定
在页面中调用此行甚至一次
gridView.DataSource = dTable;
它将数据源分配给网格视图,对DataBind
方法的任何后续调用都将使用相同的已加载数据绑定网格。
答案 1 :(得分:1)
DataBind()方法用于将Source绑定到服务器控件。
DataBind()方法强制gridview与特定DataSource绑定。 由于您已经引用了DataSource,并且当您仅使用DataBind()时,它将默认采用以前的DataSource,因为它存在于内存中。
但是,大多数控件会自动执行绑定。因此,您不需要明确使用此方法。
我希望,这是你想知道的。
答案 2 :(得分:0)
DataBind仅渲染已经加载到对象中的数据源。您可以在aspx中执行其他绑定,例如<span><%#MyClass.RenderSomething()%></span>
,但除非您指示它绑定(即在您的cs中page.DataBind();
),否则不会发生任何事情。
您可以在代码的一个部分中定义DataSource并将其绑定到另一个部分,因为您定义了控件的源(您的GridView)以及最终调用DataBind时是将所有内容都处理为输出和事件&# 39;这样的RowCreated
被解雇了。
答案 3 :(得分:0)
private void bindGrid(DataTable dTable) { 尝试 {
gvSmokingStatus.DataSource = dTable;
gvSmokingStatus.DataBind();
}
catch (Exception ex)
{
throw ex;`enter code here`
}
}