【问题标题】:Bind gridview on user control在用户控件上绑定gridview
【发布时间】:2011-01-13 14:15:12
【问题描述】:

我在一个 aspx 页面上有一个 2 用户控件。 1 个控件有搜索条件和搜索按钮,第 2 个用户控件有 gridview。

当用户输入creteria并点击搜索按钮时如何绑定gridview。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    点击事件需要冒泡到aspx页面,然后传递给gridview用户控件。请参阅以下链接如何冒泡事件。

    http://odetocode.com/code/94.aspx

    【讨论】:

      【解决方案2】:

      考虑到第一个 UserControl 会生成一个 DataTable。在第二个 UserControl 中指定一个属性,该属性接受数据表并将其绑定到控件内的网格​​。

      控制2:

      public datatable Result{get;set;}
      
      Private void SetGrid()
      {
      datagrid1.datasource=Result;
      datagrid1.databind();
      }
      

      控制1:

      Datatable dt=SearchResult();
      Control2.Result=dt;
      

      【讨论】:

        【解决方案3】:

        在 .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"));
        

        通过以上过程,您可以绑定网格视图。

        希望它会有所帮助。

        【讨论】:

          【解决方案4】:

          首先在DataTable中获取搜索结果,并将DataTable存储在ViewState中。然后将 ViewState 中的 DataTable 设置为 GridView 的数据源。 像这样,

           GridView1.DataSource = ViewState["DataTable1"];
           GridView1.DataBind();
          

          希望对你有帮助。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-11-28
            • 1970-01-01
            • 2014-10-18
            • 2010-10-30
            • 1970-01-01
            • 2012-06-20
            • 1970-01-01
            • 2012-03-29
            相关资源
            最近更新 更多