搜索
查看: 994|回复: 5

请问listview有没有读一整列的函数?

[复制链接]

7

主题

14

帖子

99

积分

一级会员

Rank: 2

积分
99
发表于 2018-3-10 19:37:45 | 显示全部楼层 |阅读模式
请问listview有没有读一整列的函数?目前我是通过循环实现的,但不知道有没有更简单的方法,比方说一个函数?
import win.ui;
/*DSG{{*/
var mainForm = win.form(text="aardio form";right=285;bottom=232;topmost=1)
mainForm.add(
button={cls=
"button";text="读第二列";left=72;top=172;right=207;bottom=209;z=2};
listview={cls=
"listview";left=11;top=9;right=276;bottom=157;edge=1;fullRow=1;gridLines=1;z=1}
)
/*}}*/

mainForm.listview.insertColumn(
"user",80,,0x0/*_LVCFMT_LEFT*/)
mainForm.listview.insertColumn(
"ip",80,,0x0/*_LVCFMT_LEFT*/)
mainForm.listview.insertColumn(
"cpu",80,,0x0/*_LVCFMT_LEFT*/)

mainForm.listview.items = {
    {
"1";"2";"3";};
    {
"4";"5";"6";};
    {
"7";"8";"9";};
    {
"a";"b";"c";};
    {
"d";"e";"f";};
    {
"g";"h";"i";};
}

mainForm.button.oncommand =
function(id,event){
   
var count = mainForm.listview.count;
   
var text ="";

   
for i=1;count;1{
        text =  text ++  mainForm.listview.getItemText(i,2) ++
";";
        
    }
    mainForm.msgbox(text)
}

mainForm.show()
win.loopMessage();

回复

使用道具 举报

39

主题

174

帖子

1021

积分

荣誉会员

吃白菜的鸟

Rank: 8Rank: 8

积分
1021
发表于 2018-3-10 19:48:11 | 显示全部楼层
一整行都没有, 更不要说一整列了.......自己用for写吧.

点评

items[row] 不就是整行咩...  发表于 2018-3-10 21:11
!
回复

使用道具 举报

12

主题

679

帖子

4006

积分

荣誉会员

子非魚、安知魚之樂

Rank: 8Rank: 8

积分
4006
发表于 2018-3-10 21:09:13 | 显示全部楼层
import win.ui;
/*DSG{{*/
var mainForm = win.form(text="aardio form";right=285;bottom=232;topmost=1)
mainForm.add(
button={cls=
"button";text="读第二列";left=72;top=172;right=207;bottom=209;z=2};
listview={cls=
"listview";left=11;top=9;right=276;bottom=157;edge=1;fullRow=1;gridLines=1;z=1}
)
/*}}*/

mainForm.listview.insertColumn(
"user",80,,0x0/*_LVCFMT_LEFT*/)
mainForm.listview.insertColumn(
"ip",80,,0x0/*_LVCFMT_LEFT*/)
mainForm.listview.insertColumn(
"cpu",80,,0x0/*_LVCFMT_LEFT*/)

mainForm.listview.items = {
    {
"1";"2";"3";};
    {
"4";"5";"6";};
    {
"7";"8";"9";};
    {
"a";"b";"c";};
    {
"d";"e";"f";};
    {
"g";"h";"i";};
}

//获取整行(table)
mainForm.listview.getRowTable = function(row){
   
return owner.items[row];
}
//获取整列(table)
mainForm.listview.getColTable= function(col){
   
var t = {}
   
for(i=1;owner.count)table.push(t,owner.items[ i ][col])
   
return t;
}

import console
mainForm.button.oncommand =
function(id,event){
    console.dumpJson(mainForm.listview.getColTable(2) )
//获取第2列
    console.dumpJson(mainForm.listview.getRowTable(2) ) //获取第2行
}

mainForm.show()
win.loopMessage();

回复

使用道具 举报

39

主题

174

帖子

1021

积分

荣誉会员

吃白菜的鸟

Rank: 8Rank: 8

积分
1021
发表于 2018-3-10 21:16:51 | 显示全部楼层
xauto 发表于 2018-3-10 21:09
import win.ui;
/*DSG{{*/
var mainForm = win.form(text="aardio form";right=285;bottom=232;topmost=1 ...

学习了. 这个方式不错
!
回复

使用道具 举报

7

主题

14

帖子

99

积分

一级会员

Rank: 2

积分
99
 楼主| 发表于 2018-3-10 21:32:15 | 显示全部楼层
xauto 发表于 2018-3-10 21:09
import win.ui;
/*DSG{{*/
var mainForm = win.form(text="aardio form";right=285;bottom=232;topmost=1 ...

谢谢,这代码看起来简洁多了。 这下知道了,可以利用listview里面的成员变量items,直接在后面加个[]下标就行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-9-26 03:30 , Processed in 0.078125 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表