16,549
社区成员
发帖
与我相关
我的任务
分享
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
DataGridView1.AutoGenerateColumns = False
Dim dt As New DataTable
dt.Columns.Add("a")
dt.Columns.Add("b")
dt.Rows.Add("1", "12")
dt.Rows.Add("2", "22")
DataGridView1.Columns.Add(New DataGridViewTextBoxColumn)
DataGridView1.Columns.Add(New DataGridViewTextBoxColumn)
'Dim Cbo1 As New DataGridViewComboBoxColumn
'Cbo1.Items.AddRange("1", "2", "3", "4")
'DataGridView1.Columns.Add(Cbo1)
'Dim Cbo2 As New DataGridViewComboBoxColumn
'Cbo2.Items.AddRange("12", "22", "32", "42")
'DataGridView1.Columns.Add(Cbo2)
DataGridView1.DataSource = dt
DataGridView1.Columns(0).DataPropertyName = "a"
DataGridView1.Columns(1).DataPropertyName = "b"
End Sub
End Class
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
DataGridView1.AutoGenerateColumns = False
Dim dt As New DataTable
dt.Columns.Add("a")
dt.Columns.Add("b")
dt.Rows.Add("1", "12")
dt.Rows.Add("2", "22")
'DataGridView1.Columns.Add(New DataGridViewTextBoxColumn)
'DataGridView1.Columns.Add(New DataGridViewTextBoxColumn)
Dim Cbo1 As New DataGridViewComboBoxColumn
Cbo1.Items.AddRange("1", "2", "3", "4")
DataGridView1.Columns.Add(Cbo1)
Dim Cbo2 As New DataGridViewComboBoxColumn
Cbo2.Items.AddRange("12", "22", "32", "42")
DataGridView1.Columns.Add(Cbo2)
DataGridView1.DataSource = dt
DataGridView1.Columns(0).DataPropertyName = "a"
DataGridView1.Columns(1).DataPropertyName = "b"
End Sub
End Class
For x = 0 To DataGridView1.Rows.Count - 1
DataGridView1.Rows(x).Cells("CName").Value =Trim( DataGridView1.Rows(x).Cells("CategoryName").Value)
Next
DataGridView1.Columns("CategoryName").Visible = False
这样真的是可以,
但有个问题:如果遇到数据量很大的话那不是速度会很慢?
DataGridView1.AutoGenerateColumns = False
Dim dt As New DataTable
dt.Columns.Add("a")
dt.Columns.Add("b")
dt.Rows.Add("1", "12")
dt.Rows.Add("2", "22")
DataGridView1.DataSource = dt
DataGridView1.Columns(0).DataPropertyName = "a"
DataGridView1.Columns(1).DataPropertyName = "b"
数据量大的话分页显示.
更改数据后上传方法挺多,可以在编辑前记录下值,结束编辑后比对一下当前值和之前记录的值,如果不一样,则更新
也可以直接写在cellvaluechanged里。 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
mycon.ConnectionString = "Server=.;Database=abcd;User ID=sa;Password=1234"
sqltxt = "select * from Products"
If mycon.State = ConnectionState.Closed Then mycon.Open()
mycmd = New SqlClient.SqlCommand(sqltxt, mycon)
myda = New SqlClient.SqlDataAdapter(mycmd)
myda.Fill(ds, "Categories")
mytab = ds.Tables("Categories")
DataGridView1.DataSource = mytab
Dim abc() As String = {"红", "橙", "黄", "绿", "青", "蓝", "紫"}
Dim List As New DataGridViewComboBoxColumn()
List.Items.AddRange(abc)
List.DisplayIndex = 1
List.HeaderText = "CategoryName"
DataGridView1.Columns.Add(List)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub