繁体   English   中英

动态插入列到 GridView

[英]Inserting Columns to GridView dynamically

我有一个 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>

function:

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

是一个虚拟 function ,我想用我的代码中的属性进行交换。

这里是背后的代码以及它应该做什么。

    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 语句结束!!!!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM