生成具有另一个Gridview属性的多个Gridview
本文关键字:Gridview 属性 另一个 | 更新日期: 2023-09-27 17:49:34
我在ASP中声明了一个gridview:
<asp:GridView ID="GV_Sample" runat="server" AutoGenerateColumns="False" Visible="false" CssClass="tabela" style="margin: 0 auto;"
UseAccessibleHeader="true" >
<Columns>
<asp:TemplateField HeaderText="Nome" HeaderStyle-CssClass="col1 column">
<HeaderTemplate>
Nome
</HeaderTemplate>
<ItemStyle CssClass="col1 column" />
<ItemTemplate>
<p><asp:Label ID="lbl_micro" runat="server" Text='<%# Bind("Descricao") %>' /></p>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Curso" HeaderStyle-CssClass="col2 column">
<HeaderTemplate>
Curso
</HeaderTemplate>
<ItemStyle CssClass="col2 column" />
<ItemTemplate>
<asp:HyperLink ID="link_micro" runat="server" Text='<%# "<span>"+ Eval("id") + "</span>" %>' NavigateUrl='<%# returnRawUrl() + "&id=" + Eval("id") %>' CssClass="linkBlock button-cursos" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在代码后面,我想生成多个gridview与GV_Sample的所有属性,只是改变数据源:
for(int i=0; i<array.Count; i++)
{
GridView gvr = GV_Sample;
gvr.id="myGV_"+i;
SqlDosCursos.SelectParameters["ID"].DefaultValue = array[i];
gvr.DataSourceID = "SqlDosCursos";
gvr.DataBind();
myPlaceHolder.Controls.Add(gvr);
}
问题只是我在占位符中插入GridView的最后一个周期,所有其他应该插入的人都不在那里。我怎么解决这个问题?
谢谢!
你可以写一个UserControl来新建一个gridView
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %>
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
,然后添加usercontrol到占位符。
WebUserControl1 gvr = new WebUserControl1();
myPlaceHolder.Controls.Add(gvr);