找回密码
 立即注册

QQ登录

只需一步,快速开始

zheng_hq

银牌会员

151

主题

391

帖子

2227

积分

银牌会员

积分
2227

活字格认证

zheng_hq
银牌会员   /  发表于:2011-10-25 22:14  /   查看:6208  /  回复:8
C1FlexGrid1.SetData(2, 2, 5)
        C1FlexGrid1.SetData(3, 2, 4)
        C1FlexGrid1.SetData(4, 2, 1)
        C1FlexGrid1.SetData(5, 2, 2)
        C1FlexGrid1.SetData(6, 2, 9)
        C1FlexGrid1.SetData(7, 2, 4)
        C1FlexGrid1.SetData(8, 2, 4)
        C1FlexGrid1.SetData(9, 2, 3)
        C1FlexGrid1.SetData(10, 2, 6)
        C1FlexGrid1.SetData(11, 2, 3)
        C1FlexGrid1.SetData(12, 2, 7)
        C1FlexGrid1.SetData(13, 2, 2)
        C1FlexGrid1.SetData(14, 2, 0)
        C1FlexGrid1.SetData(15, 2, 0)
        C1FlexGrid1.SetData(16, 2, 9)

        Dim list As New ArrayList()
        list.Add(1)
        list.Add(2)
        list.Add(3)
        list.Add(5)
        list.Add(7)

        For i As Int32 = 2 To 16

            If list.Contains(C1FlexGrid1.GetData(i, 2)) Then
                C1FlexGrid1.SetData(i, 3, "●")
            Else
                If C1FlexGrid1.GetData(i - 1, 3) = "●".ToString Then   ‘这里有错'
                    C1FlexGrid1.SetData(i, 3, 1)
                Else
                    C1FlexGrid1.SetData(i, 3, C1FlexGrid1.GetData(i - 1, 3).ToString + 1)
                End If
            End If
        Next
_____________________________________________________
错误提示:未处理的invalidcastexception
从字符串“●”到类型“Double”的转换无效

8 个回复

倒序浏览
zheng_hq
银牌会员   /  发表于:2011-10-25 22:16:00
沙发

想实现这样的效果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-26 10:13:00
板凳
将C1FlexGrid1.GetData(i - 1, 3)修改为C1FlexGrid1.GetData(i - 1, 3).ToString()试一试
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-10-26 11:17:00
地板
For i As Int32 = 2 To 16

            If list.Contains(C1FlexGrid1.GetData(i, 2)) Then
                C1FlexGrid1.SetData(i, 3, "●")
            Else
                If C1FlexGrid1.GetData(i - 1, 3) = "●".ToString() Then  '还是这里报同样的错'
                    C1FlexGrid1.SetData(i, 3, 1)
                Else
                    C1FlexGrid1.SetData(i, 3, C1FlexGrid1.GetData(i - 1, 3).ToString() + 1)
                End If
            End If
        Next
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-26 11:25:00
5#
<P>错误信息提示无法将“●”到类型“Double”类型,所以需要将Double类型转换为String进行比较</P>
<P><FONT color=red> If C1FlexGrid1.GetData(i - 1, 3).ToString() = "●" Then</FONT> </P>
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-10-26 12:26:00
6#
哇,问题解决了!谢谢dof老师

那现在 把“●”替换成您在demo里  “奇.ico”,该如何写,让&quot;奇.ico&quot;参与单元格的运算呢
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-26 14:06:00
7#
&quot;奇.ico&quot;只是设置该单元格的Image属性,你还是可以通过GetData()取到该单元格的值。
回复 使用道具 举报
zheng_hq
银牌会员   /  发表于:2011-10-26 14:32:00
8#
原帖由 dof 于 2011-10-26 14:06:00 发表
&quot;奇.ico&quot;只是设置该单元格的Image属性,你还是可以通过GetData()取到该单元格的值。


那如何设置单元格的image属性呢?

是通过使用 imagelist 吗?凡是getdata()得到“●”的,就从imagelist里面调用吗?

我在您的demo里没看见imagelist呀
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2011-10-26 14:44:00
9#
可以使用ImageList保存你需要的图片,我是在OwnerDraw事件中设置的单元格的Image属性。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部