新手,求百分比问题(VB.ENT)

RHKylix 2003-09-15 11:30:47
数据是用ListVeiw显示,当ListVeiw只有一行是计算结果正确,多于一行,计算结果不对,什么原因?帮帮忙,在线等,我是新人哦.代码如下:
Private Sub AddPercetRowToLstvData()
Dim I As Integer, J As Integer
Dim ThePercentItem As ListViewItem
Dim ValResult As Double
Dim ValStr As Double, ValStr1 As Double
If LstVData.Items.Count > 0 Then
ThePercentItem = New ListViewItem()
ThePercentItem.SubItems(0).Text = "百分比(%)"
For J = 1 To LstVData.Columns.Count - 1
ThePercentItem.SubItems.Add("") : ThePercentItem.SubItems(J).Text = "0"
Next
For J = 1 To LstVData.Columns.Count - 1
ValStr = Val(LstVData.Items(1).SubItems(J).Text)
ValStr1 = Val(LstVData.Items(1).SubItems(10).Text)
ValResult = ValStr / ValStr1
ThePercentItem.SubItems(J).Text = (ValResult).ToString
Next
'Format
For J = 1 To ThePercentItem.SubItems.Count - 1
ThePercentItem.SubItems(J).Text = Format(Val(ThePercentItem.SubItems(J).Text), "#0.00%")
Next
'Add
LstVData.Items.Insert(0, ThePercentItem)
End If
End Sub
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gwhong211 2003-10-05
  • 打赏
  • 举报
回复
还不是一样啊楼主,我相信你自己能搞定
kexian 2003-09-15
  • 打赏
  • 举报
回复
ThePercentItem.SubItems(J).Text = Format(val(ThePercentItem.SubItems(J).Text), "#0.00")&"%"
gwhong211 2003-09-15
  • 打赏
  • 举报
回复
来晚了
ValStr = Val(LstVData.Items(0).SubItems(J).Text)
ValStr1 = Val(LstVData.Items(0).SubItems(10).Text)

LstVData.Items.Insert(1, ThePercentItem)
RHKylix 2003-09-15
  • 打赏
  • 举报
回复
解决了,第0行开始就行了
ValStr = Val(LstVData.Items(0).SubItems(J).Text)
ValStr1 = Val(LstVData.Items(0).SubItems(10).Text)
RHKylix 2003-09-15
  • 打赏
  • 举报
回复
当多于1行时
他计算的是下一行,而不是第一行.
dzliang21 2003-09-15
  • 打赏
  • 举报
回复
笨,没看懂
rock29 2003-09-15
  • 打赏
  • 举报
回复
我苯,找不出错,你把format语句放到ValResult = ValStr / ValStr1之后试试,当然格式化的就不是SubItems(J).Text 而是ValResult
RHKylix 2003-09-15
  • 打赏
  • 举报
回复
刚才是求行的百分比,求列的百分比呢?怎样插入一列数据
插入一行LstVData.Items.Insert(1, ThePercentItem)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧