以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于表单元格Name和Text的一些想法!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=57750)

--  作者:lhpc120
--  发布时间:2014/9/30 15:07:00
--  关于表单元格Name和Text的一些想法!
在C#中,表单元格的内容显示值和真实值是可以并存的,包括BOX控件
如果单元格和BOX类型控件拥有Name 、Value和Text这三个值的话是不是更灵活一些!在很多时候完全可以代替MAPData的。

比如我现在有个订单明细表中有个值,希望表里面存的是ID,显示的是名称,那么只能用MapData或者绘制单元格去实现,
MapData效率不错,缺点是必须加载这个数据表,如果一个表中有N个这样的字段需要加载N个这样的表

绘制,绘制可以调取数据表中的数据后进行改变单元格的显示状态,但是太占用系统资源。

以上两种方法各有利弊!但是如果支持VALUE和TEXT的话,我想就不会这样了!

希望官方给予好的方法或者大家顶起来改进!

--  作者:Bin
--  发布时间:2014/9/30 15:09:00
--  
多增加一个列 用来储存 另外一个值呗.把这些列隐藏起来
--  作者:有点甜
--  发布时间:2014/9/30 15:10:00
--  

 一个单元保存一个值,这个是变不了的,如果你想保存多个值,就多加几列来保存。

 

 显示问题,你可以用drawcell事件


--  作者:lhpc120
--  发布时间:2014/9/30 15:13:00
--  

回复3楼:drawcell事件效率太低

 

回复2楼,增加列是肯定能行的,但是一旦基础库数据修改过,比如产品档案修改过名称,那么就悲剧了!需要变脸所有相关数据进行更改!


--  作者:Bin
--  发布时间:2014/9/30 15:17:00
--  
2.不懂你意思,一样的道理.  你Text Value方式就不要同步修改了吗?
--  作者:lhpc120
--  发布时间:2014/9/30 15:48:00
--  
Text和Value的话,可以再每次打开表的时候根据Value进行重新加载一次,而drawcell是是在实时加载!
--  作者:Bin
--  发布时间:2014/9/30 15:50:00
--  
你用两个列呗. 隐藏其中一个列, 只显示显示列
--  作者:lhpc120
--  发布时间:2014/9/30 16:12:00
--  

能不能用数据库索引去实现呢?图片点击可在新窗口打开查看


--  作者:逛逛
--  发布时间:2014/9/30 16:33:00
--  

如果你自己写保存语句没问题的话,还是直接用查询表吧。

 

一个单元格有三个值的话,自己都搞晕了。