从 MySQL 数据 VB.NET 填充 datagridview 中的特定列

Joh*_*ñez 0 mysql vb.net datagridview

我创建了一个带有 4 列的 Datagridview,EJ:

ID, Name, Quantity, other
Run Code Online (Sandbox Code Playgroud)

但我想从 MySQL EJ 填充这 3 列:

item_id, item_name, item_quantity
Run Code Online (Sandbox Code Playgroud)

我尝试了这个代码:

    Using cn As New MySqlConnection("server=10.10.2.1;userid=root;password=gf-159753;database=quick_admon")
        cn.Open()

        Dim da As New MySqlDataAdapter("SELECT * from qa_items", cn)
        ' DataTable  
        Dim dt As New DataTable

        ' llenar el DataTable  
        da.Fill(dt)

        ' enlazar el DataTable al BindingSource  
        list_items.DataSource = dt

        With list_items 
            .MultiSelect = False 
            .SelectionMode = DataGridViewSelectionMode.FullRowSelect

            .DataSource = list_items.DataSource
        End With

    End Using
Run Code Online (Sandbox Code Playgroud)

但这会创建新列并且不会写入现有列,花了一段时间寻找解决方案但只找到这样的方法。

Joh*_*Woo 6

您未能将bind查询中的列转换为数据网格视图列。去做这个,

1.)右键单击DataGridView。
2.) 出现一个弹出菜单并单击编辑列
3.)通过在DataPropertyName属性中分别键入查询中的字段名称(item_id、item_name、item_quantity)来绑定每一列(IDNameQuantityother)(以便它不会像您那样创建另一列)。

你完成了!

更新

以编程方式设置DataPropertyName

list_items.Columns("ID").DataPropertyName = "item_id"
Run Code Online (Sandbox Code Playgroud)

或假设 ID 是您的第一列:

list_items.Columns(0).DataPropertyName = "item_id"
Run Code Online (Sandbox Code Playgroud)