VB2013 Datagridview数据写入及显示 数据显示不全
我的目的:把查询结果在WINFORM中呈现出来。我的方法:用DATAGRIDVIEW控件,用代码添加行列,然后逐个单元格写入数据。遇到的问题:当使用IF判断时,数据显示出...
我的目的:把查询结果在WINFORM中呈现出来。我的方法:用DATAGRIDVIEW控件,用代码添加行列,然后逐个单元格写入数据。遇到的问题:当使用IF判断时,数据显示出问题。0列只能最后一行有数据。疑问:是代码错了?还是FOR与IF套用不合适?我用MESSAGEBOX每写入一个值就提示一次,发现第一列开始是能写入值的,但是在写后面的值的时候,第一列写入的值又没了。我的代码:码一: For i = 0 To rs4.Fields.Count - 1 Step 1 Main_F.DataGridView1.Columns.Add(rs4.Fields(i).Name, i) For j = 0 To 5 Step 1 If j >= Main_F.DataGridView1.Rows.Count Then Main_F.DataGridView1.Rows.Add() End If Main_F.DataGridView1.Rows(j).Cells(i).Value = j & "**" & i Next Next码二: For i = 0 To rs4.Fields.Count - 1 Step 1 Main_F.DataGridView1.Columns.Add(rs4.Fields(i).Name, i) For j = 0 To 5 Step 1 Main_F.DataGridView1.Rows.Add() Main_F.DataGridView1.Rows(j).Cells(i).Value = j & "**" & i Next NextPS:业余爱好者,无专业知识,请大佬指点。
展开
1个回答
展开全部
可以直接把Datagridview的Datasource绑定到数据表,可以直接显示整个表的内容。不需要一行一行的添加。逐行添加数据量大的时候,显示比较慢。最好还是使用sql的查询语句,将查询结果数据绑定到Datagridview即可。这样还节省了代码的。
追问
我试了下,用DATAGRIDVIEW.DATASOURCE=RS,但是不显示数据。
使用了DAGAGRIDVIEW.REFRESH也没有数据显示。
追答
Imports System.IO
Imports System.Data.OleDb
Public Class FrmGoodsManage
Dim cn As OleDbConnection
Dim cm As OleDbCommand
Dim da As OleDbDataAdapter
Dim ds As DataSet
Dim myReader As OleDbDataReader
Private Sub LoadData()
cn = New OleDbConnection(strConn)
'这里的链接默认就是打开的
da = New OleDbDataAdapter("select * from [商品信息表]", cn)
Dim dt As New DataTable
da.Fill(dt)
DataGridView1.DataSource = dt
DataGridView1.Columns(0).Width = 120
DataGridView1.Columns(1).Width = 200
DataGridView1.Columns(2).Width = 170
DataGridView1.Columns(3).Width = 180
DataGridView1.Columns(4).Width = 75
DataGridView1.Columns(5).Width = 90
DataGridView1.Columns(6).Width = 90
DataGridView1.Columns(7).Width = 250
ClearT()
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询