Foxtable(狐表)用户栏目专家坐堂 → 显示多个不同状态的行


  共有8654人关注过本帖树形打印复制链接

主题:显示多个不同状态的行

帅哥哟,离线,有人找我吗?
明丰
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
显示多个不同状态的行  发帖心情 Post By:2012/8/31 18:59:00 [只看该作者]

Dim dt As DataTable = CurrentTable.DataTable
Dim d As String
For Each dr As DataRow In dt.DataRows
    If dr.RowState = DataRowState.Modified Then
        d = d & "[_Identify] = " & dr("_Identify") & " or "
    End If
Next
For Each dr As DataRow In dt.DataRows
    If dr.RowState = DataRowState.Added Then
        d = d & "[_Identify] = " & dr("_Identify") & " or "
    End If
Next
If d IsNot Nothing Then
    d = d.Trim(" ","o","r")
    CurrentTable.Filter = d
End If

 

上面的代码同时显示新增行和已经修改的行,但代码较长。


下面的代码只能显示一种状态的行,如果要同时显示新增行和已经修改的行,请问如何设置?

 

显示新增行:
CurrentTable.StateFilter = StateFilterEnum.Added

 

显示已经修改的行:
CurrentTable.StateFilter = StateFilterEnum.Modified


 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2012/8/31 20:57:00 [只看该作者]

Dim dt As DataTable = CurrentTable.DataTable
Dim d As String
For Each dr As DataRow In dt.DataRows
    If dr.RowState = DataRowState.Modified Then
        d = d & "," &  dr("_Identify")
    ElseIf dr.RowState = DataRowState.Added Then
        d = d & "," &  dr("_Identify")
    End If
Next
If d <> "" Then
    d = d.Trim(",")
    CurrentTable.Filter = "[_Identify] in (" & d & ")"
End If

 

StateFilter是枚举型的,没有办法



 回到顶部
帅哥哟,离线,有人找我吗?
czy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/8/31 21:31:00 [只看该作者]

For Each dr As DataRow In CurrentTable.DataTable.DataRows
    If dr.RowState = DataRowState.Modified Then
        dr.BaseRow("System_Filter_Unique") = 1
    ElseIf dr.RowState = DataRowState.Added Then
        dr.BaseRow("System_Filter_Unique") = 1
    End If
Next
CurrentTable.Filter = "System_Filter_Unique = 1"

 回到顶部
帅哥哟,离线,有人找我吗?
明丰
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2012/8/31 22:10:00 [只看该作者]

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2012/8/31 23:12:00 [只看该作者]

以下是引用czy在2012-8-31 21:31:00的发言:
For Each dr As DataRow In CurrentTable.DataTable.DataRows
    If dr.RowState = DataRowState.Modified Then
        dr.BaseRow("System_Filter_Unique") = 1
    ElseIf dr.RowState = DataRowState.Added Then
        dr.BaseRow("System_Filter_Unique") = 1
    End If
Next
CurrentTable.Filter = "System_Filter_Unique = 1"

请教baseRow怎么用?


 回到顶部