| WideStudio Programming Guide | WideStudio Index Table of contents

> ## 详细列表

> ### 通过函数控制详细列表的数据显示

> 在详细列表(WSCverbList)中，或者WSClist 的列表类别为[详细列表]的列表中追加项目显示数据时， 同前面介绍的情况完全一样，使用addItem 函数指定追加的字符串和追加的位置。 省略追加位置时，将被追加到列表的末尾。和列表不同的是设定各项目时使用分号进行隔开。

> [详细列表显示的例子]
> 如下图的具有横4项的列表，将属性 barValue 设定为50,100,150。通过该属性，指定标题的分离位置。 因为将根据这个属性决定项的数，设定时请多注意。在属性 titleString 中，设定sec1,sec2,sec3,sec4。
> 以下是在详细列表中追加项目的范例。

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub btnep1 {
>       my ($object) = @_;
>       # 删除列表的所有项目
>       $newlist_001->delAll();

>       # 从列表末端追加项目
>       $newlist_001->addItem("item1,aaa,bbb,ccc");
>       $newlist_001->addItem("item2,aaa,bbb,ccc");
>       $newlist_001->addItem("item3,aaa,bbb,ccc");
>       $newlist_001->addItem("item4,aaa,bbb,ccc");

>       # 列表内容变更后，执行刷新
>       $newlist_001->updateList();
>       return;
>     }
>     1;

> ### 通过属性设定详细列表的数据

> 项目数比较少时，能通过属性一次性设定项目内容。 首先，将dataSource 属性设定为WS_DATA_SOURCE_NONE。 然后，用改行方法在data 属性中设定数据。

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub btnep1 {
>       my ($object) = @_;
>       # 删除列表的所有项目
>       $newlist_001->delAll();
>       # 通过属性设置列表内容
>       $newlist_001->setProperty("dataSource",$mpfc::WS_DATA_SOURCE_NONE);
>       $newlist_001->setProperty("data",
>          "item1,aaa,bbb,ccc\nitem2,aaa,bbb,ccc\nitem3,aaa,bbb,ccc");
>       return;
>     }
>     1;

> 如果如下面一样，图标文件同时也指定的话，每项目的图标也可指定。 如果设定属性useIcon为True ，指定图标时用分号来指定。 图标文件省略的话，将使用属性iconPixmap中所指定的图标。
> 格式:

>     图标文件，项目字符串\n图标文件，项目字符串\n....

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub btnep1 {
>       my ($object) = @_;
>       # 删除列表的所有项目
>       $newlist_001->delAll();
>       # 通过属性设置列表内容
>       $newlist_001->setProperty("dataSource",$mpfc::WS_DATA_SOURCE_NONE);
>       $newlist_001->setProperty("data",
>          "$(WSDIR)/sys/pixmaps/bi16.xpm,item1,aaa,bbb,ccc\n,item2,aaa,bbb,ccc\n,item3,aaa,bbb,ccc");
>       return;
>     }
>     1;

> ### 通过文件设定详细列表数据

> 可以通过指定文件一次性设定项目内容。首先，将dataSource 属性指定为 WS_DATA_SOURCE_FILE。 然后，在dataSourceName 属性中指定文件名。通过设定属性和程序实现动作。下列是在程序中的设定的例子。

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub btnep1 {
>       my ($object) = @_;
>       # 删除列表的所有项目
>       $newlist_001->delAll();

>       # 通过文件设置列表内容
>       $newlist_001->setProperty("dataSource",$mpfc::WS_DATA_SOURCE_FILE);
>       $newlist_001->setProperty("dataSourceName","data.txt");
>       return;
>     }
>     1;
>     #data.txt 文件的内容
>     $(WSDIR)/sys/pixmaps/bi16.xpm,item1,aaa,bbb,ccc
>     item2,aaa,bbb,ccc
>     item3,aaa,bbb,ccc
>     item4,aaa,bbb,ccc
>     $(WSDIR)/sys/pixmaps/bi16.xpm,item5,aaa,bbb,ccc
>     item6,aaa,bbb,ccc
>     item7,aaa,bbb,ccc
>     item8,aaa,bbb,ccc

> ### 通过Instance显示详细列表的数据

> 通过指定Instance名，从该Instance的数据源对象属性对项目进行总括设定。 首先，将dataSource 属性设定为WS_DATA_SOURCE_INSTANCE。 然后，在dataSourceName 属性中指定Instance名。 下列的例子中，指定了WSCtextField 的Instance（newtext_000）。 数据的形式，与文件指定的情况一样。被输入到newtext_000中的字符串在详细列表里将被显示。 通过builder的属性设定，程序的设定可以动作。下列是在程序设定的例子。 这个情况，被输入区域的Instance newtext_000中所输入的字符串将作为详细列表的项目被显示。

>     #----------------------------------------------------------
>     #Function for the event procedure
>     #----------------------------------------------------------
>     use mpfc;

>     sub btnep1 {
>       my ($object) = @_;
>       # 删除列表的所有项目
>       $newlist_001->delAll();

>       # 通过文件设置列表内容
>       $newlist_001->setProperty("dataSource",$mpfc::WS_DATA_SOURCE_INSTANCE);
>       $newlist_001->setProperty("dataSourceName","newtext_000");
>       return;
>     }
>     1;

Document Release 3.70 for WideStudio ver 3.70, May 2004

WideStudio documents index | Table of contents

Copyright(C) WideStudio Development Team, 1999-2004 | Last modified: May 25, 2004