在gridview c#asp.net中显示图像

本文关键字:显示 显示图 图像 net gridview c#asp | 更新日期: 2023-09-27 18:00:36

我试图在网格视图中显示图像,我看到了其他答案并尝试了它们,但它们似乎不适用于我的方法。我使用在aspsnippets上找到的方法填充网格视图。我的代码被修改为从我的mongoDB数据库中填充网格视图,它确实这样做了,但只是用文本,这只是我的代码片段,如果它不足以理解我在做什么,很抱歉。它说"文本"的任何地方都不重要,只是一个已经正确填充的列。

<asp:GridView ID="GridMultiD" runat="server"
    AutoGenerateColumns = "false" Font-Names = "Arial"
    Font-Size = "11pt" AlternatingRowStyle-BackColor = "#C2D69B" 
    HeaderStyle-BackColor = "green" AllowPaging ="true"  
    PageSize = "10" Caption = "Multi-Dimensional Array" >
  <Columns>
    <asp:BoundField ItemStyle-Width = "150px"
    DataField = "Name" HeaderText = "Name" />
    <asp:BoundField ItemStyle-Width = "150px"
    DataField = "Age" HeaderText = "Age" />
    <asp:BoundField ItemStyle-Width = "150px"
     DataField = "City" HeaderText = "City" />
    <asp:BoundField ItemStyle-Width = "150px"
    DataField = "Country" HeaderText = "Country" />
  </Columns>
</asp:GridView>

C#代码

string[,] arrMultiD = {
                    { "John", "21", "Berlin", "Germany" },
                    { "Smith", "33" ,"London", "UK"},
                    { "Ryder", "15" ,"Sydney", "Australia"},
                    { "Jake", "18", "Tokyo", "Japan"},
                    { "Tom","34" , "Mumbai", "India"}
                 };
DataTable dt = new DataTable();
dt.Columns.Add("Name", Type.GetType("System.String"));
dt.Columns.Add("Age", Type.GetType("System.String"));
dt.Columns.Add("City", Type.GetType("System.String"));
dt.Columns.Add("Country", Type.GetType("System.String"));    
for (int i = 0; i < 5; i++)
{
    dt.Rows.Add();
    dt.Rows[dt.Rows.Count - 1]["Name"] = arrMultiD[i, 0];
    dt.Rows[dt.Rows.Count - 1]["Age"] = arrMultiD[i, 1];
    dt.Rows[dt.Rows.Count - 1]["City"] = arrMultiD[i, 2];
    dt.Rows[dt.Rows.Count - 1]["Country"] = arrMultiD[i, 3];  
}
GridMultiD.DataSource = dt;
GridMultiD.DataBind(); 

我修改了它,在一些栏中填充文本,我希望在其他栏中有一个图像。像这个

         DataTable dt = new DataTable();
            dt.Columns.Add("text");
            dt.Columns.Add("text");
            dt.Columns.Add("text");
            dt.Columns.Add("text");
            dt.Columns.Add("text");
            dt.Columns.Add("text");
            dt.Columns.Add("Trend1");
            dt.Columns.Add("text");
            dt.Columns.Add("Trend2");
            dt.Columns.Add("text");
            dt.Columns.Add("Trend3");
            dt.Columns.Add("text");
            dt.Columns.Add("text");
            dt.Columns.Add("Trend4");
            dt.Columns.Add("text");
            dt.Columns.Add("Trend5");
            dt.Columns.Add("text");
            dt.Columns.Add("Trend6");
            dt.Columns.Add("text");
            dt.Columns.Add("text");

            int counter = 0;
            foreach (string[] arr in verList)
            {
                dt.Rows.Add();
                if (arr[counter] == "↑")
                {
                    dt.Rows[dt.Rows.Count - 1]["Trend1"] = "<IMG SRC='"up.jpg'" ALT='"Up'">";
                }
                else if (arr[counter] == "↓")
                {
                    dt.Rows[dt.Rows.Count - 1]["Trend1"] = "<IMG SRC='"down.jpg'" ALT='"Down'">";
                }
                else
                    dt.Rows[dt.Rows.Count - 1]["Trend1"] = "<img src='"NoChange.jpg'" alt='"NoChange'" style='"width:36px;height:36px;'">";
                counter++;
                if (arr[counter] == "↑")
                {
                    dt.Rows[dt.Rows.Count - 1]["Trend2"] = "<img src='"up.jpg'" alt='"Up'" style='"width:36px;height:36px;'">";
                }
                else if (arr[counter] == "↓")
                {
                    dt.Rows[dt.Rows.Count - 1]["Trend2"] = "<img src='"down.jpg'" alt='"Down'" style='"width:36px;height:36px;'">";
                }
                else
                    dt.Rows[dt.Rows.Count - 1]["Trend2"] = "<img src='"NoChange.jpg'" alt='"NoChange'" style='"width:36px;height:36px;'">";
                counter++;
                counter = 0;
            }
            GridMultiD.PageSize = dt.Rows.Count;
            GridMultiD.DataSource = dt;
            GridMultiD.DataBind();

但我只是在gridview单元格中获得HTML代码作为文本,尽管我已经确保图像在那里,所以路径是正确的。我已经尝试过其他方法,为其他人解决了一些问题,但还没有为我解决。任何建议都将不胜感激!

在gridview c#asp.net中显示图像

您可以尝试将模板字段列添加到gridview,并将Image控件添加到此模板,然后将图像的路径分配给Image控件属性。我现在无法访问代码,只能在谷歌上搜索如何将模板字段列添加到gridview