关于列表框中数值型字段太宽的问题?
我从sql server 读取表user后,读取的字段是:user_id和user_name两个字段。
user_id是int类型,读取到临时表后,是10位数。
我用list(列表框)控件导入临时表的数据源:
IF SQLEXEC(gnMyLogHandle,"SELECT user_id,user_name FROM user","user1") = -1
MESSAGEBOX("系统在读取乘务员信息时,发生错误,请返回!",48,'')
thisform.release
RETURN .F.
ENDIF
SELECT user1
GO top
thisform.back.sele.list1.columncount=2
thisform.back.sele.list1.rowsourcetype=6
thisform.back.sele.list1.rowsource='user1.user_id,user_name'
thisform.back.sele.list1.columnwidths='50,70'
* ===========================================================================
以上代码运行没有问题,但是第一项user_id数值型int的宽度是10位的宽度,而且是右对齐,一旦宽度设小了,就看不到数了,恳请各位高手给予指教。谢谢了!
[解决办法]
从后台取数的时候多取一列,专用于显示
SQLEXEC(gnMyLogHandle,"SELECT cast(user_id as char(10)) as cid,user_id,user_name FROM user","user1")
列表框的 RowSource 用这个 cid 替代 user_id
[解决办法]
或者这样也行:
thisform.back.sele.list1.rowsource='Transform(user1.user_id),user_name'