根据手风琴标题手风琴绑定网格

时间:2013-11-26 11:36:52

标签: c# asp.net .net ajax asp.net-ajax

我有以下手风琴,其中我通过标签显示tenantName并在手风琴标题的隐藏区域中显示。

点击accordionheader我想绑定位于手风琴的contenttemplate中的网格中租户的所有细节。

手风琴结构如下:

<cc1:Accordion ID="MyAccordion" runat="server" ContentCssClass="accordionContent"
                        FadeTransitions="true" HeaderCssClass="accordionHeader" HeaderSelectedCssClass="accordionHeaderSelected"
                        RequireOpenedPane="false" SelectedIndex="-1" TransitionDuration="250" Width="100%">
                        <HeaderTemplate>
                            <asp:Label ID="lblTenant" runat="server"></asp:Label>
                            <asp:HiddenField ID="HFTenantID" runat="server" />
                        </HeaderTemplate>
                        <ContentTemplate>
                            <asp:GridView ID="GrdTenantDetails" runat="server" AutoGenerateColumns="true" ShowHeader="false">
                                <Columns>
                                    <asp:TemplateField>
                                        <ItemTemplate>
                                            <asp:Label ID="lblAddress" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField>
                                        <ItemTemplate>
                                            <asp:Label ID="lblAlternateAddress" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField>
                                        <ItemTemplate>
                                            <asp:Label ID="lblContactDetails" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField>
                                        <ItemTemplate>
                                            <asp:Label ID="lblEmail" runat="server"></asp:Label>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                            </asp:GridView>
                        </ContentTemplate>
                    </cc1:Accordion>

我成功地将Accordion标题限制在一起。

但是我必须根据点击的Accordion标题在contenttemplate中绑定网格。

我制作了以下代码:

protected void MyAccordion_ItemDataBound(object sender, AjaxControlToolkit.AccordionItemEventArgs e)
{
    if (e.AccordionItem.ItemType == AjaxControlToolkit.AccordionItemType.Header) {
        ((Label)e.AccordionItem.FindControl("lblTenant")).Text = e.AccordionItem.DataItem("TenantName");
        ((HiddenField)e.AccordionItem.FindControl("HFTenantID")).Value = e.AccordionItem.DataItem("tenantid");
    }

    if (e.AccordionItem.ItemType == AjaxControlToolkit.AccordionItemType.Content) {
        BindTenantDetailsGrd((GridView)e.AccordionItem.FindControl("GrdTenantDetails"));
    }

}

private void BindTenantDetailsGrd(GridView GrdTenent)
{
    gc.BindGridView(GrdTenent, "select tenantid,tenantname,Address,AlternateAddress,ContactDetails,Email from  TenantMaster where RentActive =0 and PTID=" + ViewState("PTID") + " and PropertyID =" + ViewState("PropertyID") + " Order by CreatedDate desc");
}

0 个答案:

没有答案
相关问题