将列动态插入GridView

时间:2011-07-03 10:35:33

标签: c# asp.net 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语句结束!!!!

1 个答案:

答案 0 :(得分:0)

您可以将值放在数据表中并将数据表绑定到gridview。

相关问题