请问datagridview绑定问题
俺的用sql命令把datagridview的数据改动后再重新绑定一次
datagridview1.datasource=datatable
然后datagridview的currentrow又变成第一行了。晕~
怎样才能在绑定后,datagridview的自动把焦点定位到新增的行和还有改动过的行上呢?
俺有点事,晚上再回来看帖!谢谢哦!!!
[解决办法]
'测试窗口中传递信息是否成功 'MsgBox(sqlcmd, MsgBoxStyle.OkOnly, "提示") '====将数据装入datagridview Dim olecn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=固定资产.mdb") Dim selectcmd As New OleDb.OleDbCommand() selectcmd.Connection = olecn Dim olead As New OleDb.OleDbDataAdapter() olead.SelectCommand = selectcmd olead.SelectCommand.CommandText = sqlcmd Dim ds As New DataSet() olead.Fill(ds) dgv_select.DataSource = ds.Tables(0) olecn.Open() '============== '单元格居右显示 dgv_select.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight '====设置表中的列的列名和列宽度 dgv_select.Columns.Item(0).HeaderText = "编号" dgv_select.Columns.Item(0).Width = 60 '============设置此列不能修改============ 'dgv_select.Columns.Item(0).ReadOnly = True '============设置所有数据不能修改======== dgv_select.ReadOnly = True '============设置此列为排序列 从数字小道大排序 dgv_select.Sort(dgv_select.Columns(0), System.ComponentModel.ListSortDirection.Ascending) '========================================= dgv_select.Columns.Item(1).HeaderText = "大类" dgv_select.Columns.Item(1).Width = 120 '========================================== dgv_select.Columns.Item(2).HeaderText = "小类" dgv_select.Columns.Item(2).Width = 120 '========================================== dgv_select.Columns.Item(3).HeaderText = "型号" dgv_select.Columns.Item(3).Width = 120 '========================================== dgv_select.Columns.Item(4).HeaderText = "存放地点" dgv_select.Columns.Item(4).Width = 120 '========================================== dgv_select.Columns.Item(5).HeaderText = "使用者" dgv_select.Columns.Item(5).Width = 120 '========================================== dgv_select.Columns.Item(6).HeaderText = "使用状态" dgv_select.Columns.Item(6).Width = 120 '========================================== dgv_select.Columns.Item(7).HeaderText = "归属部门" dgv_select.Columns.Item(7).Width = 120 '======================================== dgv_select.Columns.Item(8).HeaderText = "日期" dgv_select.Columns.Item(8).Width = 120 '======================================== dgv_select.Columns.Item(9).HeaderText = "备注" dgv_select.Columns.Item(9).Width = 220
[解决办法]
说一个简单的办法,可以让你的数据按照数据更新的时间来排序,这样你最新更新的数据就是在最前面了。这个办法最简单。
其他办法,可以通过在DataTable中Select的办法找到DataRow,再通过DataRow定位在行中的位置。不如第一种办法简单有效。