首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

请教datagridview绑定有关问题

2012-03-03 
请问datagridview绑定问题俺的用sql命令把datagridview的数据改动后再重新绑定一次datagridview1.datasour

请问datagridview绑定问题
俺的用sql命令把datagridview的数据改动后再重新绑定一次
datagridview1.datasource=datatable
然后datagridview的currentrow又变成第一行了。晕~
怎样才能在绑定后,datagridview的自动把焦点定位到新增的行和还有改动过的行上呢?
俺有点事,晚上再回来看帖!谢谢哦!!!




[解决办法]

VB.NET code
 '测试窗口中传递信息是否成功        '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定位在行中的位置。不如第一种办法简单有效。

热点排行