Sunday, March 11, 2012

How Can i add a Gridview Inside An Accordion Control?

Try this.

<atlasToolkit:AccordionPaneID="AccordionPane1"runat="server"><Header><ahref=""onclick="return false;"class="accordionLink">Servicios</a></Header><Content><asp:GridViewID="gServicio"runat="server"CellPadding="4"Font-Names="Tahoma"Font-Size="Small"PageIndex="0"DataKeyNames="Clave"AllowPaging="True"Width="700"OnRowEditing="EditaServicio"OnRowCancelingEdit="CancelaServicio"OnRowUpdating="ValidaServicio"OnRowUpdated="GrabaServicio"OnRowDeleted="EliminaServicio"AutoGenerateColumns="False"BackColor="White"BorderColor="#3366CC"BorderStyle="None"BorderWidth="1px"OnPageIndexChanging="gServicio_PageIndexChanging"><FooterStyleBackColor="#99CCCC"ForeColor="#003399"/><RowStyleBackColor="White"ForeColor="#003399"/><SelectedRowStyleBackColor="#009999"Font-Bold="True"ForeColor="#CCFF99"/><PagerStyleBackColor="#99CCCC"ForeColor="#003399"HorizontalAlign="Left"/><HeaderStyleBackColor="#003399"Font-Bold="True"ForeColor="#CCCCFF"/>

<Columns><asp:TemplateField><ItemTemplate><asp:ButtonID="btnEdit"CommandName="Edit"Text="Editar"Font-Size="8pt"Width="50px"Runat="Server"/></ItemTemplate><EditItemTemplate><asp:ButtonID="btnUp"CommandName="Update"Text="Actualizar"Font-Size="8pt"Width="50px"Runat="Server"/><asp:ButtonID="btnCan"CommandName="Cancel"Text="Deshacer"Font-Size="8pt"Width="50px"Runat="Server"/></EditItemTemplate><ItemStyleVerticalAlign="Top"/></asp:TemplateField><asp:TemplateField><ItemTemplate><asp:ButtonID="btnDel"CommandName="Delete"Text="Eliminar"Font-Size="8pt"Width="50px"Runat="Server"/></ItemTemplate><ItemStyleVerticalAlign="Top"/></asp:TemplateField>

<asp:BoundFieldDataField="Clave"HeaderText="Clave"ReadOnly="True"SortExpression="Clave"/><asp:BoundFieldDataField="Descripcion"HeaderText="Descripcion"ReadOnly="True"SortExpression="Descripcion"/><asp:BoundFieldDataField="ServicioExterno"HeaderText="Servicio Externo"SortExpression="ServicioExterno"/>

</Columns></asp:GridView><asp:LabelID="lblDisplayingServicio"runat="server"Text="Label"Width="400px"Font-Bold="True"Font-Names="Tahoma"Font-Size="Small"ForeColor="Black"></asp:Label></Content></atlasToolkit:AccordionPane>

Yes that will work , but since i want not known numbers of Panes and each pane has a gridview as a content so i made up this:

DataTable DT = Class1.Generate_datatable("*","...","...","...");

for (int i = 0; i < DT.Rows.Count; i++)

{

GridView GV = GetEmailsTable(1);DataTable DT1 =Class1.Generate_datatable("...","...",".......=" +int.Parse(DT.Rows[i][0].ToString()) +"","....");

GV.DataSource = DT1;

GV.DataBind();

GV.HeaderRow.Visible =

false;

GV.BorderWidth = 0;

GV.Width = 500;

AccordionPane Pane =newAccordionPane();

GV.BackColor =

Color.White;

Pane.HeaderContainer.Controls.Add(

newLiteralControl(DT.Rows[i]["..."].ToString()));

Pane.ContentContainer.Controls.Add(GV);

MyAccordion.Panes.Add(Pane);

}

protectedGridView GetEmailsTable(int ID)

{

GridView GV =newGridView();

.....

return GV;

}

No comments:

Post a Comment