簡體   English   中英

如何在listview.subitem中添加圖像

[英]How to add an image in listview.subitem

我想知道如何在列表視圖子項中添加圖像。

我正在使用此代碼在子項中顯示文本。

 double Text = "2452";
 ListViewItem lItem = new ListViewItem();
 lItem.SubItems.Add(Text.ToString());

我想做這樣的事情

 ListViewItem lItem = new ListViewItem();
 lItem.SubItems.Add(Text.ToString() + "C:\\image.png");

提前致謝。

private void ListView1_DrawColumnHeader(object sender, System.Windows.Forms.DrawListViewColumnHeaderEventArgs e) {
    e.DrawDefault = true;
}

private void ListView1_DrawSubItem(object sender, System.Windows.Forms.DrawListViewSubItemEventArgs e) {
    if (!(e.Item.SubItems(0) == e.SubItem)) {
        e.DrawDefault = false;
        e.DrawBackground();
        e.Graphics.DrawImage(My.Resources.Image1, e.SubItem.Bounds.Location);
        e.Graphics.DrawString(e.SubItem.Text, e.SubItem.Font, new SolidBrush(e.SubItem.ForeColor), (e.SubItem.Bounds.Location.X + My.Resources.Image1.Width), e.SubItem.Bounds.Location.Y);
    }
    else {
        e.DrawDefault = true;
    }
}

ListView不支持此功能。

我找到了另一個答案,建議你用DataGridView切換它。

如何為ListViewSubItem設置圖標?

當然,如果你願意的話,你可以自定義繪制ListView,但我必須說事情會變得非常復雜。

您可以通過為圖像實現自己的HttpHandler來實現此目的。 這是一個實現IHttpHandler接口的.ashx文件。

因此,如果你構建了一個名為ImageHandler,你可以在ListView中以聲明方式使用它,如下所示:

<asp:ListView 
     ID="ImageListView" 
     runat="server"
     DataKeyNames="Id">
        <ItemTemplate>        
            <img id="img1" src='<%#"~/ImageHandler.ashx?Id=" + Eval("Id") %>' />
        </ItemTemplate>
</asp:ListView>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM