2011-07-03 179 views
0

我有一個gridview頁面..我添加了兩列!我不想使用嚮導來放置數據,所以我在因特網上尋找一些代碼,討論關於動態地向一個GridView列中的項目..動態插入列到GridView

我添加了一些代碼,如果發現並修改它產生這樣的:

  <Columns> 
    <asp:TemplateField HeaderText="תגובות"> 
     <ItemTemplate> 
      <asp:Label ID="Comments" runat="server" Text='<%# GetImage(Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "TicketReserved"))) %>'></asp:Label> 
     </ItemTemplate>   
     <ItemStyle HorizontalAlign="Right" /> 
     </asp:TemplateField>   
<asp:TemplateField HeaderText="שם משתמש"><ItemTemplate> 
     <asp:Image ID="imgButton" runat="server" 

      ImageUrl='<%# GetImage(Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "TicketReserved"))) %>' ></asp:Image> 
     <br /> 
      <asp:Label ID="Label1" runat="server" Text='<%# GetImage(Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "TicketReserved"))) %>'></asp:Label> 
</ItemTemplate> 
    <HeaderStyle Width="100px" /> 
    <ItemStyle Width="100px" /> 
</asp:TemplateField> 
    </Columns> 

功能:

GetImage(Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "TicketReserved"))) %> 

是一個虛擬函數我想從我的代碼中交換屬性。

這裏的代碼背後,它應該做什麼。

List<ControlPanelMessages> allComments; 
protected void Page_Load(object sender, EventArgs e) 
{ 
    allComments = ControlPanelMessages.GetAllControlPanelPosts(); 
    foreach (var item in allComments) 
    { 
     Name=item.Name; 
     Comment=item.Comment; 
     Image =ResolveUrl(item.Img); 
    } 
} 

public string Name { get; set; } 
public string Comment { get; set; } 
public string Image { get; set; } 

這種方法:

ControlPanelMessages.GetAllControlPanelPosts() 

將返回後,所有的SQL語句來獲取用戶名文本列表,用戶頭像和用戶評論進行了應用。

我的問題是我怎麼可以插入那些3個屬性安全,而不是

 GetImage(Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "TicketReserved"))) %> 

我想在GridView項添加到列,直到foreach語句結束!!!!

回答

0

您可以將值放入數據表中並將數據表綁定到gridview。