簡體   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