找回密码
 立即注册

QQ登录

只需一步,快速开始

zheng_hq

银牌会员

151

主题

391

帖子

2227

积分

银牌会员

积分
2227

活字格认证

zheng_hq
银牌会员   /  发表于:2011-10-18 19:37  /   查看:10220  /  回复:15
这是EXCEL单元格的判断语句
=IF($U5=N$3,"●",IF(N4="●",1,N4+1)), 那么c1flexgrid的单元格里,如何实现呢?

我自己的想法是:
dim value1,value2 as integer
value1 = _flex.GetData(6 i)
value2 = _flex.GetData(6, j)

if value1 = value2 then
       。。。。。成立就调用imagelist,不成立就......

● 是不是要用上imagelist

但具体的语句该如何写呢?

15 个回复

正序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-19 17:22:00
16#
你将_flex.GetData(, )都修改成_flex.GetData(, ).ToString()试一下
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-10-19 17:08:00
15#
估计要用循环语句,才能实现这一列的像 图2 的效果,但我想不出来,

        C1FlexGrid1.SetData(2, 1, 1)
        C1FlexGrid1.SetData(3, 1, 4)
        C1FlexGrid1.SetData(4, 1, 6)
        C1FlexGrid1.SetData(5, 1, 3)

        '大小判断
        Dim list As New ArrayList()
        list.Add(1)
        list.Add(2)
        list.Add(3)
        list.Add(5)
        list.Add(7)

        If list.Contains(C1FlexGrid1.GetData(2, 1)) Then
            C1FlexGrid1.SetData(2, 2, "●")
        Else
            If C1FlexGrid1.GetData(1, 2) = "●" Then
                C1FlexGrid1.SetData(2, 2, 1)
            Else
                C1FlexGrid1.SetData(2, 2, C1FlexGrid1.GetData(1, 2) + 1)
            End If
        End If

        If list.Contains(C1FlexGrid1.GetData(3, 1)) Then
            C1FlexGrid1.SetData(3, 2, "●")
        Else
            If C1FlexGrid1.GetData(2, 2) = "●" Then
                C1FlexGrid1.SetData(3, 2, 1)
            Else
                C1FlexGrid1.SetData(3, 2, C1FlexGrid1.GetData(2, 2) + 1)
            End If
        End If

这里是成功的,但再加一个,就不行了
        If list.Contains(C1FlexGrid1.GetData(4, 1)) Then
            C1FlexGrid1.SetData(4, 2, "●")
        Else
            If C1FlexGrid1.GetData(3, 2) = "●" Then
                C1FlexGrid1.SetData(4, 2, 1)
            Else
                C1FlexGrid1.SetData(4, 2, C1FlexGrid1.GetData(3, 2) + 1)
            End If
        End If
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-19 16:59:00
14#
是这样判断,你的代码不成功吗
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-10-19 16:52:00
13#
判断上一个单元格是否是"●",是不是这样写:C1FlexGrid1.GetData(1, 2) = "●"  呢?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-19 15:49:00
12#
  1. If Not list.Contains(_flex.GetData(index, 3)) Then
复制代码
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-10-19 15:43:00
11#
list.Contains(_flex.GetData(index, 3)) 的不包含,该怎么用语句呢
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-19 13:47:00
10#
你只要稍微修改一下8楼中的代码,再写一个IF判断就可以实现了
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-10-19 13:46:00
9#
如果 c1flexgrid1(3,3)的数值 = 1 or 2 or 3 or 5 or 7,那么就在c1flexgrid(3 ,8)显示●,否则显示1
如果 c1flexgrid1(4,3)的数值 = 1 or 2 or 3 or 5 or 7,那么就在c1flexgrid(4 ,8)显示●; 否则:(如果这时c1flexgrid(3,8)=●,那么显示1;如果这时c1flexgrid(3,8)=1,那么增加1,显示2)
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-19 13:37:00
8#
类似的代码吧:
  1.         Dim list As New ArrayList()
  2.         list.Add(1)
  3.         list.Add(2)
  4.         list.Add(3)
  5.         list.Add(5)
  6.         list.Add(7)

  7.         For index As Int32 = 3 To 6
  8.             If list.Contains(_flex.GetData(index, 3)) Then
  9.                 _flex.SetData(index, 8, "●")
  10.             Else
  11.                 _flex.SetData(index, 8, index)
  12.             End If
  13.         Next
复制代码
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部