[英]Bind gridview on user control
我在aspx页面上有2个usercontrol。 1个控件具有搜索条件和搜索按钮,第二个用户控件具有gridview。
当用户输入条件并单击搜索按钮时,如何绑定gridview。
click事件需要冒泡到aspx页面,然后传递给gridview用户控件。 请参阅以下链接如何使事件冒泡。
考虑到第一个UserControl产生一个DataTable。 在第二个UserControl中指定一个属性,该属性接受数据表并将其绑定到控件内部的网格。
Control2:
public datatable Result{get;set;}
Private void SetGrid()
{
datagrid1.datasource=Result;
datagrid1.databind();
}
控制1:
Datatable dt=SearchResult();
Control2.Result=dt;
在.ascx页面的第二个用户控件中,您可以像这样引用第一个用户控件
<%@ Reference Control="first user control names comes here" %>
在第二个用户控件页面加载事件中,您可以使用以下建议的方法找到第一个用户控件的对象:
UserControls_UCFirst uc1 = (UserControls_UCFirst)this.Parent.FindControl("UCFirst1");
那么您可以找到第一个用户控件的搜索条件对象(TextBox,DropDownList等)。
TextBox txt = (TextBox)(uc1.FindControl("txtName"));
通过以上过程,您可以绑定网格视图。
希望它会有所帮助。
首先在数据表中获取搜索结果,然后将数据表存储在ViewState中。 然后在ViewState中将DataTable设置为GridView的数据源。 像这样,
GridView1.DataSource = ViewState["DataTable1"];
GridView1.DataBind();
希望对您有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.