以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=31171)

--  作者:wsxdwh
--  发布时间:2013/4/11 11:10:00
--  [求助] 代码

If e.DataCol.Name="总分数" Then
    Dim drs As List(of DataRow)
    drs=DataTables("团体总分表").Select("[年级] = \'" & e.DataRow("年级")  & "\'","总分数 DESC")
    Dim a As Integer = 1
        For Each dr As DataRow In drs
        dr("年级排名") = a
        a = a + 1
    Next
End If

 

以上代码;当“总分数”为数据列时可以正常运行,为表达式列时不能运行。

现在想在“总分数”为数据列时可以正常运行,代码如何修改? 请指教!!!


--  作者:XYT
--  发布时间:2013/4/11 11:13:00
--  
以下是引用wsxdwh在2013-4-11 11:10:00的发言:

If e.DataCol.Name="总分数" Then
    Dim drs As List(of DataRow)
    drs=DataTables("团体总分表").Select("[年级] = \'" & e.DataRow("年级")  & "\'","总分数 DESC")
    Dim a As Integer = 1
        For Each dr As DataRow In drs
        dr("年级排名") = a
        a = a + 1
    Next
End If

 

以上代码;当“总分数”为数据列时可以正常运行,为表达式列时不能运行。

现在想在“总分数”为数据列时可以正常运行,代码如何修改? 请指教!!!

你不是说数据列能正常运行吗,还用改?


--  作者:wsxdwh
--  发布时间:2013/4/11 11:26:00
--  

不好意思  打错了!!

If e.DataCol.Name="总分数" Then
    Dim drs As List(of DataRow)
    drs=DataTables("团体总分表").Select("[年级] = \'" & e.DataRow("年级")  & "\'","总分数 DESC")
    Dim a As Integer = 1
        For Each dr As DataRow In drs
        dr("年级排名") = a
        a = a + 1
    Next
End If

 

以上代码;当“总分数”为数据列时可以正常运行,为表达式列时不能运行。

现在想在“总分数”为表达式列时可以正常运行,代码如何修改? 请指教!!!


--  作者:Bin
--  发布时间:2013/4/11 11:27:00
--  
你这段代码是写在哪里的? 某些事件可能作为表达式列的时候没触发.
--  作者:wsxdwh
--  发布时间:2013/4/11 13:11:00
--  
代码写在本表属性的 DataColChanged中 

 

请指教!!!

[此贴子已经被作者于2013-4-11 13:59:49编辑过]

--  作者:wsxdwh
--  发布时间:2013/4/11 14:00:00
--  
请专家指教!!!
--  作者:wsxdwh
--  发布时间:2013/4/11 14:26:00
--  

期待中。。。。。。

 


--  作者:Bin
--  发布时间:2013/4/11 14:33:00
--  
表达式列.并不会触发DataCloChanged事件.
--  作者:wsxdwh
--  发布时间:2013/4/11 14:49:00
--  

有什么办法解决?!

 


--  作者:Bin
--  发布时间:2013/4/11 14:52:00
--  
以下是引用wsxdwh在2013-4-11 14:49:00的发言:

有什么办法解决?!

 

在影响表达式列的数据列中处理.即可