Click here to Skip to main content
15,886,788 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello,

Can anybody help me to sort out this one?
I want find my datalist in another datalist alternateitemtemplate control.
I am not able to find it. Actually I need to bind two different datatable to these two datalist.

Here is the code:
<asp:DataList ID="DataList1" Width="800px" runat="server" >
                                <ItemTemplate>
                                <table cellspacing=4px>
                                <tr>
                                <td>
                                <asp:Label ID="labelname" runat="server" Text='<%#Eval("name") %>'></asp:Label>
                                </td>
                                <td align="right">
                                <asp:Label ID="labelposteddate" runat="server" Text='<%#Eval("posteddate") %>'></asp:Label>
                                </td>
                                </tr>
                                <tr>
                                <td colspan="2">
                                <asp:TextBox ID="textmessage" runat="server" Text='<%#Eval("message") %>' TextMode="MultiLine" Width="1218px"
                                        ReadOnly="true" Rows="10"></asp:TextBox>
                                </td>
                                </tr>
                                </table>
                                </ItemTemplate>
                                <AlternatingItemTemplate>
                                <asp:DataList ID="datalist2" runat="server" >
                                <ItemTemplate>
                                <table cellspacing=4px>
                                <tr>
                                <td>
                                <asp:Label ID="labeladminname" runat="server" Text='<%#Eval("adminname") %>'></asp:Label>
                                </td>
                                <td align="right">
                                <asp:Label ID="labelposteddate1" runat="server" Text='<%#Eval("posted") %>'></asp:Label>
                                </td>
                                </tr>
                                <tr>
                                <td colspan="2">
                                <asp:TextBox ID="textreply" runat="server" TextMode="MultiLine" Text='<%#Eval("replymessage") %>' Width="1218px"
                                        ReadOnly="true" Rows="10"></asp:TextBox>
                                </td>
                                </tr>
                                </table>
                                </ItemTemplate>
                               </asp:DataList>
                                </AlternatingItemTemplate>
                                </asp:DataList>
Posted
Updated 4-Apr-11 3:51am
v4
Comments
HimanshuJoshi 4-Apr-11 9:51am    
Added pre blocks.

Have you tried finding the datalist on the ItemCreated event, like this?

protected void DataList1_ItemCreated(object sender, DataListItemEventArgs e)
{
   DataList dt = (DataList)e.Item.FindControl("datalist2");
}
 
Share this answer
 
Comments
Tech Code Freak 31-Jan-12 0:51am    
5up!
try to find out this
way

foreach (DataListItem Outer in DataList1.Items)
               {
                  DataList innerDataList1 = (DataList)Outer.FindControl("InnerDataList");
                   innerDataList1 .DataSource = ds;
                   innerDataList1 .DataBind();

               }
 
Share this answer
 
v2
Just an improvement to the above solutions .......


C#
protected void DataList1_ItemCreated(object sender, DataListItemEventArgs e)
      {
          if (e.Item.ItemType == ListItemType.AlternatingItem)
          {
              DataList dt = (DataList)e.Item.FindControl("datalist2");
          }
      }
 
Share this answer
 
Comments
walterhevedeich 5-Apr-11 1:57am    
Good catch, didn't thought of that one. A 5 for you. :)
sekharkaza 5-Apr-11 5:46am    
Thanx man
Tech Code Freak 31-Jan-12 0:51am    
A 5!
XML
<asp:Repeater ID="repeater1" runat="server" EnableViewState="false">
           
            <ItemTemplate>

                <div style="border: 2px solid Red; padding: 10px; margin: 8px;">
                    <b>
                        <%# Eval("FirstName")+" "+ Eval("LastName") %></b><br />
                    Age:<%# Eval("Age") %><br />
                    Gender:<%# Eval("Gendar") %><br />
                    Active:<%# Eval("Active") %>
                </div>

            </ItemTemplate>

        </asp:Repeater>
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900