gpt4 book ai didi

mysql - 如何使用 VB.Net 中已定义的列填充 datagridview

转载 作者:行者123 更新时间:2023-11-29 07:38:11 25 4
gpt4 key购买 nike

我试图用位于我的 MySQL 数据库中的数据填充我的 DataGridView。我的问题来了,我的列已经在 DataGridView 中创建了。

它不是将数据放在正确的列中,而是创建具有相同名称的额外列。

我尝试更改列的设计器名称,以便它们与 MySQL 的相匹配。这根本没有帮助。

所以我的猜测是我需要用一段代码来修复它,但不知何故我无法弄清楚我到底需要什么。

MysqlConn.Open()

Query = "select * from offerte.Offerteinhoud where Offertenummer2='" & OfZo.Text & "'"

COMMAND = New MySqlCommand(Query, MysqlConn)
READER = COMMAND.ExecuteReader
table.Load(READER)

With DataGridView1

.DataSource = table

End With

MysqlConn.Close()

我认为我的问题是我只是将整个数据库加载到数据 GridView 中。我的 MySQL 表还包含 2 个我不想包含在数据 GridView 中的列。

编辑 2:解决方案编号 1。

Instead of doing things like this, you can make alias of the column names >which you want to show in your grid like this :

select col1 as [Column 1], col2 as [Column 2], col3 from >offerte.Offerteinhoud ...

And then if you don't want to show column col3, you can hide it using the >below code :

DataGridView1.Columns("col3").Visible = False

这就像一个魅力:)

解决方案编号 2

我将列的 DataPropertyName 更改为与 MySQL 列名相同的名称。这样它就可以毫无问题地绑定(bind)数据。

为了删除我不想显示的 2 列,我使用下一个代码删除了它们。

DataGridView1.Columns.Remove("offertenummer")
DataGridView1.Columns.Remove("offertenummer2")

我在我的代码中使用了第二种解决方案,所以它最终看起来像这样。

MysqlConn.Open()

Query = "select * from offerte.Offerteinhoud where Offertenummer2='" & OfZo.Text & "'"

COMMAND = New MySqlCommand(Query, MysqlConn)
READER = COMMAND.ExecuteReader
table.Load(READER)

With DataGridView1

.DataSource = table

End With

DataGridView1.Columns.Remove("offertenummer")
DataGridView1.Columns.Remove("offertenummer2")

MysqlConn.Close()

编辑 3:解决方案 3

最后因为表格绑定(bind)数据遇到了一些问题。

我将代码编辑为以下内容。

        MysqlConn.Open()

Query = "select * from offerte.Offerteinhoud where Offertenummer2='" & OfZo.Text & "'"

COMMAND = New MySqlCommand(Query, MysqlConn)
READER = COMMAND.ExecuteReader
While READER.Read

aantal = READER.GetString("Aantal")
artikelnummer = READER.GetString("Artikelnummer")
capaciteit = READER.GetString("Capaciteit")
eenheid = READER.GetString("Eenheid")
prijs = READER.GetString("Prijs")
product = READER.GetString("Product")


DataGridView1.Rows.Add(aantal, artikelnummer, capaciteit, eenheid, prijs, product)

End While

MysqlConn.Close()

因为我调整了列的 DataPropertyName,所以所有内容都添加到正确的列中,并且可以编辑 DataGridView 本身而不会出现绑定(bind)数据问题。

我希望这对其他人的 VB.net 之旅有所帮助。

最佳答案

您可以为要在网格中显示的列名制作别名,而不是像这样做:

select col1 as [Column 1], col2 as [Column 2], col3 from offerte.Offerteinhoud ...

然后如果你不想显示 col3 列,你可以使用下面的代码隐藏它:

DataGridView1.Columns("col3").Visible = False

关于mysql - 如何使用 VB.Net 中已定义的列填充 datagridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47751828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com