簡體   English   中英

將參數傳遞給綁定到gridview的用戶控件

[英]Passing parameter to a user control which is bound to a gridview

我有一個名為ActivityGrid的用戶控件,該控件將對象列表作為其構造函數中的參數。

public ActivityGrid(List<clsActivityRow> ActivityData)
{
   bindData(ActivityData);
}

我需要將此用戶控件綁定到名為parentGrid的gridView中,因此我使用了Templatefield。

<asp:GridView ID="GridViewParent" runat="server" AutoGenerateColumns ="False">
<Columns>
   <asp:TemplateField>
      <ItemTemplate>
         <tr>
            <td colspan="100%">
               <uc1:ActivityGrid ID="ActivityGrid1" runat="server" />
            </td>
         </tr>
      </ItemTemplate>
   </asp:TemplateField>
</Columns>
</asp:GridView> 

當綁定到gridview中時,如何在此用戶控件中傳遞對象列表?

我在后面的代碼中已准備好對象List<clsActivityRow> ActivityData

您可以通過在UserControl中創建一個公共屬性來執行此操作,然后在此公共屬性集塊中調用bindData方法。

在GridView RowDataBound事件中為此對象控件傳遞對象List ActiveData。

您需要在GridViewParentRowDataBound事件的每一行中找到ActivityGrid1 object ,並分配datasource

protected void GridViewParent_RowDataBound(Object sender, GridViewRowEventArgs e)
{           
        if (e.Row.RowType == DataControlRowType.DataRow)
        {                
          ActivityGrid ActivityGrid1= (ActivityGrid )e.Row.FindControl("ActivityGrid1");                    
                if (ActivityGrid1 != null)
                {
                    ActivityGrid1.DataSource = SomeMethodToReturnDataSource();                       
                    ActivityGrid1.DataBind();
                }
         }          
}

或者,如果您的控件具有網格視圖,即ActivityGrid1具有gridView1,則可以在ActivityGrid1中找到gridView1

protected void GridViewParent_RowDataBound(Object sender, GridViewRowEventArgs e)
{           
        if (e.Row.RowType == DataControlRowType.DataRow)
        {                
          ActivityGrid ActivityGrid1= (ActivityGrid )e.Row.FindControl("ActivityGrid1");                    
                if (ActivityGrid1 != null)
                {
                    GridView gridView1 = (ActivityGrid )ActivityGrid1 .FindControl("gridView1");    
                    gridView1.DataSource = SomeMethodToReturnDataSource();                          
                    gridView1.DataBind();
                }
         }          
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM