将图像添加到在 CodeBehind 中创建的 GridView
Adding image to GridView created in CodeBehind
我做的第一件事是创建一个数据表,然后将其绑定到 GridView
这是我的代码
DataTable dt = new DataTable();
DataColumn imgC = dt.Columns.Add("img", typeof(string));
DataRow row1 = dt.NewRow();
row1["img"] = "~images/foo.png";
GridView gv = new GridView();
gv.DataSource = dt;
gv.DataBind();
cust_services.Controls.Add(gv);
我不确定从这里去哪里,因为它只显示文本,我尝试创建一个图像并只写
row1["img"] = img;
您的绑定是正确的,但您还需要将图像绑定到 GridView 中的 ImageField。
<asp:ImageField DataImageUrlField="BoundName"></asp:ImageField>
您可以在 Gridview
中使用 <asp:ImageField/>
来实现这一点。所以你的标记看起来像
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:ImageField DataImageUrlField="Value" ControlStyle-Width="100" ControlStyle-Height="100" HeaderText="My Image" />
</Columns>
</asp:GridView>
在您的 C# 代码中,您可以使用 List
添加图像。所以像
这样简单的东西
List<ListItem> files = new List<ListItem>();
files.Add(new ListItem("~/Images/SomeImage.jpg"));
GridView2.DataSource = files;
GridView2.DataBind();
这只会将一张图片添加到网格中。如果您想将所有图像添加到特定目录中的网格,则只需使用 foreach
循环。
string[] filePaths = Directory.GetFiles(Server.MapPath("~/Images/"));
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
string fileName = Path.GetFileName(filePath);
files.Add(new ListItem(fileName, "~/Images/" + fileName));
}
GridView2.DataSource = files;
GridView2.DataBind();
我做的第一件事是创建一个数据表,然后将其绑定到 GridView
这是我的代码
DataTable dt = new DataTable();
DataColumn imgC = dt.Columns.Add("img", typeof(string));
DataRow row1 = dt.NewRow();
row1["img"] = "~images/foo.png";
GridView gv = new GridView();
gv.DataSource = dt;
gv.DataBind();
cust_services.Controls.Add(gv);
我不确定从这里去哪里,因为它只显示文本,我尝试创建一个图像并只写
row1["img"] = img;
您的绑定是正确的,但您还需要将图像绑定到 GridView 中的 ImageField。
<asp:ImageField DataImageUrlField="BoundName"></asp:ImageField>
您可以在 Gridview
中使用 <asp:ImageField/>
来实现这一点。所以你的标记看起来像
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:ImageField DataImageUrlField="Value" ControlStyle-Width="100" ControlStyle-Height="100" HeaderText="My Image" />
</Columns>
</asp:GridView>
在您的 C# 代码中,您可以使用 List
添加图像。所以像
List<ListItem> files = new List<ListItem>();
files.Add(new ListItem("~/Images/SomeImage.jpg"));
GridView2.DataSource = files;
GridView2.DataBind();
这只会将一张图片添加到网格中。如果您想将所有图像添加到特定目录中的网格,则只需使用 foreach
循环。
string[] filePaths = Directory.GetFiles(Server.MapPath("~/Images/"));
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
string fileName = Path.GetFileName(filePath);
files.Add(new ListItem(fileName, "~/Images/" + fileName));
}
GridView2.DataSource = files;
GridView2.DataBind();