2011-07-14 8 views
0

グリッド内にDD1を持ち、リピータ内部のグリッドです。グリッド行のデータバインドされたイベントでDDLをバインドする必要があります。 Rowdatabound内のグリッドのインデックスを取得する際に問題があります。リピータ内にあるためです。リピータ内部のグリッドにDDLをバインドする方法はありますか?

protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (gvTest.EditIndex == e.Row.RowIndex && e.Row.RowType == DataControlRowType.DataRow) 
    { 
     DropDownList drpBuild = (DropDownList) e.Row.Cells[0].FindControl("ddlBuild"); 
    } 
} 

デザイン:

<asp:Repeater ID="rptParent" OnItemDataBound="rptParent_OnItemDataBound" runat="server"> 
    <ItemTemplate> 
     <table id="Table1" runat="server" cellpadding="0" cellspacing="0" width="100%" border="0"> 
      <tr id="Tr3" runat="server"> 
       <td> 
        <asp:Label ID="lblFieldID23" runat="server" Visible="false" Text='<%# DataBinder.Eval(Container.DataItem,"FieldID")%>'> 
        </asp:Label> 
       </td> 
      </tr> 
      <tr id="Tr1" runat="server"> 
       <td class="tdGRD" colspan="2"> 
        <div class="divScrollGrid"> 
         <tw:twGridView ID="gvLabtestFeilds" runat="server" OnRowDataBound="gvLabtestFeilds_RowDataBound"> 
          <Columns> 
           <asp:TemplateField ItemStyle-Width="30%"> 
            <HeaderTemplate> 
             <asp:Label ID="lblFieldName" runat="server" Text="Test"> 
             </asp:Label> 
            </HeaderTemplate> 
            <ItemTemplate> 
             <asp:Label ID="lblgvFieldName" runat="server" Text='<%# Eval("FieldName") %>'> 
             </asp:Label> 
            </ItemTemplate> 
           </asp:TemplateField> 
           <asp:TemplateField> 
            <HeaderTemplate> 
             <asp:Label ID="lblBatchno" runat="server" Text="Batch Number"> 
             </asp:Label> 
            </HeaderTemplate> 
            <ItemTemplate> 
             <asp:Label ID="ddlBatchNo" runat="server" CssClass="cbo"> 
             </asp:Label> 
            </ItemTemplate> 
           </asp:TemplateField> 
          </Columns> 
         </tw:twGridView> 
        </div> 
       </td> 
      </tr> 
     </table> 
    </ItemTemplate> 
</asp:Repeater> 
+1

マークアップを表示することはできますか? – naveen

+0

私はあなたを得る、マークアップを意味する? – Riyaz

+0

マークアップ=関連するHTMLコード。 – naveen

答えて

0

これを試してみてください。

protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     DropDownList drpBuild = (DropDownList) e.Row.FindControl("ddlBuild"); 
    } 
} 

P.S:コードにddlBuildが表示されません。

+0

はインデックスを取得することに問題があります。私はここでddlバインディングを示していません。これは、rowdataboundでグリッドインデックスを取得する方法ですが、スローエラーです。 "GridView gvTest =(GridView)rptParent.Items [0] .FindControl(" gvTest ");" – Riyaz

+0

私はその1つを試みたが、それでもnullをもたらす – Riyaz