6

我正在使用 Visual Studio Express 2010 为桌面开发 C# 应用程序。

我在 MySQL 中有一个名为 Products 的表,其中包含 3 个字段:

ID -> Product_Name -> product_image

该字段product_Image将图像路径存储在我的硬盘驱动器中(不是图像本身)

记录的一个例子是:

0001 --- 鼠标垫 XYZ ---- c:\images\mousepad.jpg

我想知道如何填充我的 SQL 查询datagridviewID, Produt name, and - especially - the product image的每条记录。

我发现的所有示例都使用了手动数据插入,但我正在寻找一个示例来使用来自 SQL 查询的数据填充 datagridview,而不是手动插入。

编辑:

感谢您的帮助,但无法直接应用解决方案。

我的表单上已经有一个 datagridview,我不需要在运行时创建。

我需要这样的东西(我会写一个通用的方式)

returnMySQL = "select * from products";

while (returnMySQL)
{
    fill datagrid with ID, product name, product image
}
4

3 回答 3

11

使用以下代码:

Bitmap img;

img = new Bitmap(@"c:\images\mousepad.jpg");

// Create the DGV with an Image column

DataGridView dgv = new DataGridView();

this.Controls.Add(dgv);

DataGridViewImageColumn imageCol = new DataGridViewImageColumn();

dgv.Columns.Add(imageCol);

// Add a row and set its value to the image

dgv.Rows.Add();

dgv.Rows[0].Cells[0].Value = img;

参考链接

于 2013-05-28T05:34:53.870 回答
2

您可以通过以下方式添加图像:

//you need to perform some parsing to retrieve individual values of ID, Name and ImagePath
string path = @"c:\images\mousepad.jpg";
string ID = "0001";
string Product_Name = "Mousepad XYZ";
dataGridView1.Rows.Add(ID, Product_Name, Bitmap.FromFile(path));
于 2013-05-28T05:43:20.577 回答
0

你可以做这个简单的方法

            SqlConnection conn=New   SqlConnection("SERVER=127.0.0.1;DATABASE=bdss;UID=sa;PASSWORD=1234");
            SqlDataAdapter adpt = new SqlDataAdapter("select * from products",conn);
            DataTable dt = new System.Data.DataTable();
            adpt.Fill(dt);
            int count = dt.Rows.Count;

            dataGridView1.DataSource = dt;

这就是所有你可以改变Datagrid视图高度并根据你的要求

于 2017-03-22T10:58:38.947 回答