2012-12-27 47 views
0

我在ASP這樣的一個GridView控件聲明:生成與其他的GridView的屬性的多個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> 

在後面的代碼我想生成GV_Sample的所有屬性多GridView的,只是改變了數據源:

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的佔位符,所有其他誰應該插入不存在。 我該如何解決這個問題?

謝謝!

+0

GridView gvr = GV_Sample; <---該代碼不生成網格視圖,它只能分配一個對GV_Sample網格視圖的引用。 – mdcuesta

+0

如何生成引用GV_Sample的gridview? – oteal

+0

當你說使用「新」關鍵字生成新實例時,你所做的只是參考分配。我不是你想要達到的目標,但是如果你使用具有網格視圖項目的中繼器控件來做它會更好。並處理行數據綁定事件中的綁定。 – mdcuesta

回答

1

你可以寫一個用戶控件到新的一個GridView

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication1.WebUserControl1" %> 

<asp:GridView ID="GridView1" runat="server"></asp:GridView> 

,然後將用戶控件添加到佔位符。

WebUserControl1 gvr = new WebUserControl1(); 
      myPlaceHolder.Controls.Add(gvr); 
+0

我生成UserControl並把那裏的gridview,但是當我想使用UserControl來創建一個實例它問我是否「缺少使用指令或程序集引用?」。 PS:是我第一次創建UserControl。 – oteal