Sunday, 4 May 2014

Repeater Example-nested repeater

No comments

            <asp:Repeater ID="repeaterthread" runat="server">
                <HeaderTemplate>
                    <table style="border-bottom:1px solid #C9C9F3;width:100%;border-left:1px solid #C9C9F3">
                        <tr style="background-color:Blue;color:White;height:45px">
                            <td colspan="2">
                                <b style="margin-left:10px">Messages Of Your Current Group</b>
                            </td>
                        </tr>
                    </table>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <table style="border-bottom:1px solid #C9C9F3;width:100%;border-left:1px solid #C9C9F3">
                                <tr style="background-color:rgb(35, 143, 195);color:White;height:15px">
                                    <td colspan="2">
                                        <b style="margin-left:10px">Message</b>
                                        <asp:LinkButton ID="linkdelete" runat="server"
                                            CommandArgument='<%#Eval("Thread_id") %>' OnClick="linkdeletepost"
                                            OnClientClick="return del()"
                                            style="float:right;height:10px;text-decoration:none;color:Red">Delete</asp:LinkButton>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <tr>
                                <td>
                                    <br />
                                    <table style="width:100%">
                                        <tr>
                                            <td>
                                                <asp:Label ID="lblth" runat="server" Text='<%#Bind("Thread_id") %>'
                                                    Visible="false"></asp:Label>
                                                <asp:Label ID="lblmessage" runat="server" Text='<%#Eval("Thread_message") %>'
                                                    Visible="true"></asp:Label>
                                            </td>
                                        </tr>
                                    </table>
                                </td>
                            </tr>
                            </table>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <br />
                            <table style="background-color:#EBEFF0;border-bottom:1px dotted Black;width:100%">
                                <tr>
                                    <td>
                                        <asp:Label ID="lbldate" runat="server" Font-Bold="true"
                                            style="font-size:smaller" Text='<%#Eval("Thread_date") %>'></asp:Label>
                                        <asp:LinkButton ID="linkbuttonreply" runat="server"
                                            CommandArgument='<%#Eval("Thread_id") %>' CommandName="reply"
                                            OnClick="reply_click"
                                            style="float:right;margin-right:30px;text-decoration:none;font-size:large">Reply</asp:LinkButton>
                                        <br />
                                        <br />
                                    </td>
                                </tr>
                            </table>
                            <br />
                            <tr>
                                <td>
                                    <asp:Repeater ID="repeaterreply" runat="server">
                                        <HeaderTemplate>
                                        </HeaderTemplate>
                                        <ItemTemplate>
                                            <table style="border-bottom:1px solid #C9C9F3;width:100%;border-left:1px solid #C9C9F3">
                                                <tr style="background-color:#009933;color:White;height:20px">
                                                    <td colspan="2">
                                                        <b style="margin-left:10px">Reply</b>
                                                        <asp:LinkButton ID="linkdeletereply" runat="server"
                                                            CommandArgument='<%#Eval("Reply_id") %>' OnClick="linkdeletereply"
                                                            OnClientClick="return del()"
                                                            style="float:right;height:10px;text-decoration:none;color:Red">Delete</asp:LinkButton>
                                                    </td>
                                                </tr>
                                                <tr>
                                                    <td>
                                                        <table style="background-color:#EBEFF0;border-left:1px dotted #009933;border-right:1px dotted #009933;border-bottom:1px solid #009933; width:100%">
                                                            <tr>
                                                                <td>
                                                                    <asp:Label ID="lblreplypost" runat="server" Text='<%#Eval("Reply_message") %>'></asp:Label>
                                                                    <br />
                                                                    <br />
                                                                    <asp:Label ID="Label1" runat="server" style="font-size:smaller"
                                                                        Text='<%#Eval("Reply_time") %>'></asp:Label>
                                                                    <asp:Label ID="Label3" runat="server" style="margin-left:770px" Text="From : "></asp:Label>
                                                                    <asp:Label ID="Label2" runat="server"
                                                                        style="font-size:Medium;font-weight:bold;float:right;margin-right:20px"
                                                                        Text='<%#Eval("Fullname") %>'></asp:Label>
                                                                    <br />
                                                                </td>
                                                            </tr>
                                                        </table>
                                                    </td>
                                                </tr>
                                            </table>
                                        </ItemTemplate>
                                        <FooterTemplate>
                                            </table>
                                        </FooterTemplate>
                                    </asp:Repeater>
                                </td>
                            </tr>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <table style="width:100%;background-color:Silver">
                                <tr>
                                    <td>
                                        <asp:TextBox ID="txtreply" runat="server" AutoPostBack="True"
                                            style="width:900px;height:30px;margin-left:30px;margin-top:10px"
                                            Visible="false">
                         </asp:TextBox>
                                        <br />
                                        <asp:Button ID="btnpostreply" runat="server"
                                            CommandArgument='<%#Eval("Thread_id") %>' Height="28px" OnClick="post_reply" style="float:right;margin-right:10px;margin-top:5px;
                           background-color:rgb(91, 116, 168);margin-right:70px" Text="Post" Visible="false"
                                            Width="70px" />
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>


binding nested repeater

    public void repeater_reply_bind()
    {
        for(int i=0;i<repeaterthread.Items.Count;i++)
        {
          Label l1 = (Label)repeaterthread.Items[i].FindControl("lblth");
           Repeater r1 = (Repeater)repeaterthread.Items[i].FindControl("repeaterreply");
           dl.Thread_id = Convert.ToInt16(l1.Text);
            r1.DataSource = bl.show_reply_message(dl);
            r1.DataBind();
        }
    }

to find item from repeater

 protected void reply_click(object sender, EventArgs e)
    {
     
            LinkButton l1 = (LinkButton)sender;
            RepeaterItem r1 = (RepeaterItem)l1.NamingContainer;
            TextBox t1 = (TextBox)repeaterthread.Items[r1.ItemIndex].FindControl("txtreply");
            Button b1 = (Button)repeaterthread.Items[r1.ItemIndex].FindControl("btnpostreply");
            t1.Visible = true;
            b1.Visible = true;       
    }