可能是一个糟糕的头衔,但作为一个非英语的人,并非一切都很简单。
我的问题如下:
组合框显示结果的数量,它显示212是单击的可能性而不是MySQL单元格的值。
我的代码如下所示:
'//Henter drivere fra Printer Installer Database //'
mysqlconnpi.Open()
query = "Select model_name from printer_installer.ppp_drivers"
data = New DataTable
dataAdap = New Devart.Data.MySql.MySqlDataAdapter(query, mysqlconnpi)
Dim cmb As New DataGridViewComboBoxColumn()
cmb.HeaderText = "Select Data"
cmb.Name = "cmb"
cmb.MaxDropDownItems = 100
cmb.Items.Add(dataAdap.Fill(data))
DataGridView1.Columns.Add(cmb)
结果如下:
我的代码出了什么问题?
另外,我发现组合框只能处理100件物品,有没有办法让我获得更多?我目前在要列出的数据库中有212个驱动程序。
编辑:
我试着添加这一行: DataGridView1.DataSource = data 到代码只是为了检查“数据”是否有项目。 结果是这样的: Not allowed to insert embedded, image is here.
代码现在是:
'//Henter drivere fra Printer Installer Database //'
mysqlconnpi.Open()
query = "Select model_name from printer_installer.ppp_drivers"
data = New DataTable
dataAdap = New Devart.Data.MySql.MySqlDataAdapter(query, mysqlconnpi)
Dim cmb As New DataGridViewComboBoxColumn()
cmb.HeaderText = "driver"
cmb.Name = "cmb"
cmb.MaxDropDownItems = 100
cmb.Items.Add(dataAdap.Fill(data))
DataGridView1.Columns.Add(cmb)
DataGridView1.DataSource = data
'DataGridView1.DataSource = dataAdap.Fill(data)
'-------------------------------------------------'
答案 0 :(得分:0)
DataGridView可能正在查看字符串长度,这是查询结果的字符串属性,因此您可能希望通过包装字符串来发送结果。您可以使用linq代替您的SQL查询。
从printer_installer.ppp_drivers中的模型中选择新的{Key .name = model.model_name}