【问题标题】:FindControl in Infragistics webDataGridInfragistics webDataGrid 中的 FindControl
【发布时间】:2009-01-14 20:02:58
【问题描述】:

我有 ig:TemplateDataField 包含标签。 在 InitializeRow 事件处理程序中,我尝试使用 e.Row.FindControl 查找该标签,但我得到 null。

我无法找到另一种方法来找到我的标签。 InitializeRow 事件期间如何在 WebDataGrid 行中查找控件?

【问题讨论】:

    标签: infragistics webdatagrid


    【解决方案1】:

    您必须指定要搜索的列,例如e.Row.Items[0].FindControl("ControlID"),其中0 是列索引。

    【讨论】:

      【解决方案2】:

      下面是一个应该可行的解决方案。 注意:代码用于 Infragistics UltraWebGrid 控件。 WebDataGrid 控件是 UltraWebGrid 的继承者。

      C#:

      protected void UltraWebGridCustomers_InitializeRow(object sender, Infragistics.WebUI.UltraWebGrid.RowEventArgs e)
      {
          TemplatedColumn col = (TemplatedColumn)e.Row.Cells.FromKey("HyperLinkEmailColumn").Column;
          CellItem cellItem = (CellItem)col.CellItems(e.Row.Index);
          HyperLink hyperLinkEmail = (HyperLink)cellItem.FindControl("HyperLinkSendEmail");
          hyperLinkShowDetails.Attributes.Add("onclick", "alert('This is the email link');");
      }
      

      VB.NET:

      Private Sub UltraWebGridCustomers_InitializeRow(ByVal sender As Object, ByVal e As Infragistics.WebUI.UltraWebGrid.RowEventArgs) Handles UltraWebGridCustomers.InitializeRow
              Dim col As TemplatedColumn = CType(e.Row.Cells.FromKey("HyperLinkEmailColumn").Column, TemplatedColumn)
              Dim cellItem As CellItem = CType(col.CellItems(e.Row.Index), CellItem)
              Dim hyperLinkEmail As HyperLink = CType(cellItem.FindControl("HyperLinkSendEmail"), HyperLink)
              hyperLinkShowDetails.Attributes.Add("onclick", "alert('This is the email link');")
      End Sub
      

      aspx代码:

      <infragistics:UltraWebGrid ID="UltraWebGridCustomers" runat="server">
          <Bands>
              <infragistics:UltraGridBand BaseTableName="Customers" Key="BandCustomers">
                  <Columns>
                      ...
                      <infragistics:UltraGridColumn Key="NameColumn" BaseColumnName="Name" IsBound="True">
                          <Header Caption="Name">
                          </Header>
                      </infragistics:UltraGridColumn>
                      <infragistics:UltraGridColumn Key="EmailColumn" BaseColumnName="Email" IsBound="True">
                          <Header Caption="Email Address">
                          </Header>
                      </infragistics:UltraGridColumn>
                      <infragistics:TemplatedColumn Key="HyperLinkEmailColumn">
                          <CellTemplate>                        
                              <asp:HyperLink ID="HyperLinkSendEmail" NavigateUrl='<%# "~/EmailForm.aspx?email=" & DataBinder.Eval(Container.DataItem,"Email")%>' ToolTip="Send Email" runat="server" />
                          </CellTemplate>
                      </infragistics:TemplatedColumn>
                      ...
                  </Columns>
                  <AddNewRow View="NotSet" Visible="NotSet">
                  </AddNewRow>                            
              </infragistics:UltraGridBand>
          </Bands>
          ...
      </infragistics:UltraWebGrid>    
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多