关于 dataset 的 table 没有及时刷新的问题

Forrest23 2009-12-24 12:21:25
一个datagridview 绑定了 dataset的table 有一个列是选择列, 让用户在datagridview 中选择需要的记录,

下面是全部选择的代码如下:



If Me.dgv_hfxx.Rows.Count > 0 Then
ds.Tables(0).Columns.Item("fsel").ReadOnly = False
Me.dgv_hfxx.CurrentRow.Cells("col_sel").ReadOnly = False
For i As Integer = 0 To Me.dgv_hfxx.Rows.Count - 1
Me.dgv_hfxx.Rows(i).Cells("col_sel").Value = "√"
Next
ds.Tables(0).Columns.Item("fsel").ReadOnly = True
Me.dgv_hfxx.CurrentRow.Cells("col_sel").ReadOnly = True
End If
Me.dgv_hfxx.Refresh()


全部选择之后 用下面的代码查找用户选择的列


Dim dt As New DataTable
Dim dr() As DataRow
dt = ds.Tables(0).Clone
dr = ds.Tables(0).Select("fsel='√'")
For i As Integer = dr.Length - 1 To 0 Step -1
dt.Rows.Add(dr(i).ItemArray)
Next



可是的到的结果 明明用户选了10个记录,但dr 却只有9项 少了一项,很奇怪,不知道大家有没有遇到过这个问题,该如何解决?我感觉好像是dataset没有及时刷新的原因,但dataset没有Refresh()属性,大家看看
...全文
140 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwd203 2009-12-29
  • 打赏
  • 举报
回复
Me.dgv_hfxx.Refresh()
这个没用
wplpss 2009-12-28
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 e289056 的回复:]
好像焦点还在datagridview数据是不会更新的,你在点击提交时先把焦点转移到另一个控件试试.

[/Quote]
同意这个观点
Forrest23 2009-12-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 asdfy 的回复:]
dataset有个提交更改的方法AcceptChanges(),LZ试试。
[/Quote]

我当时也试了 dataset的AcceptChanges发现有效!

只要在


ds.Tables(0).Columns.Item("fsel").ReadOnly = False
Me.dgv_hfxx.CurrentRow.Cells("col_sel").ReadOnly = False
For i As Integer = 0 To Me.dgv_hfxx.Rows.Count - 1
Me.dgv_hfxx.Rows(i).Cells("col_sel").Value = "√"
Next
ds.Tables(0).Columns.Item("fsel").ReadOnly = True
Me.dgv_hfxx.CurrentRow.Cells("col_sel").ReadOnly = True
ds.AcceptChanges

e289056 2009-12-27
  • 打赏
  • 举报
回复
好像焦点还在datagridview数据是不会更新的,你在点击提交时先把焦点转移到另一个控件试试.
e289056 2009-12-27
  • 打赏
  • 举报
回复
重得获取焦点看看.
Forrest23 2009-12-26
  • 打赏
  • 举报
回复
没人来看啊
w09123 2009-12-26
  • 打赏
  • 举报
回复
refresh属性好像只是刷新一下,不会重新加载数据的
古今多少事 2009-12-26
  • 打赏
  • 举报
回复
dataset有个提交更改的方法AcceptChanges(),LZ试试。
xuxun 2009-12-25
  • 打赏
  • 举报
回复
dd
Forrest23 2009-12-24
  • 打赏
  • 举报
回复
自己顶下

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧