Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现多区域选择


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

主题:[求助]如何实现多区域选择

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 10:21:00 [显示全部帖子]

所有用到索引的地方都判断一下

    For Each p As String In _ps
        Dim ary() As String = p.Split(",")
        If ary.Length >= 2
            If ary(0) >= 0 AndAlso ary(1) >= 0 Then
                e.Table.Grid.SetCellStyle(ary(0)+e.Table.HeaderRows, ary(1)+1, "")
            End If
        End If
    Next

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


加好友 发短信
等级:超级版主 帖子:106688 积分:542629 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 16:53:00 [显示全部帖子]

36楼都说了,要加上必要的判断

......
Dim sum As Decimal = 0
Dim hs As Long = 0
For Each p As String In _ps
    Dim ary() As String = p.Split(",")
    If ary.Length = 2 Then
        If e.Table.Cols(CInt(ary(1))).IsNumeric Then
            If ary(0) >= 0 AndAlso ary(1) >= 0 AndAlso e.Table.Rows(ary(0), True).IsGroup = False Then
                Dim s As C1.Win.C1FlexGrid.CellStyle = e.Table.grid.Styles.Add("selected")
                's.backcolor = Color.LightSteelBlue '背景
                s.backcolor = Color.LightBLue
                e.Table.Grid.SetCellStyle(ary(0)+e.Table.HeaderRows, ary(1)+1, s)
                'e.Table.DataTable.SysStyles("Focus").BackColor = Color.red
                
                '各种计算
                Dim cval = e.Table(cint(ary(0)), cint(ary(1)))
                sum += val(cval)
                hs = hs + 1
            End If
        End If
    End If
Next

If hs > 0 Then
    StatusBar.Message1 = "第" & (e.Table.Position + 1) & "行,目前展现" & e.Table.Rows.Count & "行,本表共" & e.Table.DataTable.DataRows.Count & "行." & _
    "|            |计数:" & hs & "  |累计:" & sum & "  |平均:" & sum/hs
Else
    StatusBar.Message1 = "第" & (e.Table.Position + 1) & "行,目前展现" & e.Table.Rows.Count & "行,本表共" & e.Table.DataTable.DataRows.Count & "行."
End If

 回到顶部