找回密码
 立即注册

QQ登录

只需一步,快速开始

yuyifly82

注册会员

1

主题

4

帖子

25

积分

注册会员

积分
25
最新发帖
yuyifly82
注册会员   /  发表于:2019-11-13 16:31  /   查看:3366  /  回复:5
本帖最后由 yuyifly82 于 2019-11-13 17:31 编辑

各位大神:我现在在设计一个简单的收费系统,如下图所示
收费类别,药房用值映射来设置

项目代码、名称是通过textchanged事件加上datagridview控件实现选择

现在计量单位有点问题了,我想实现值映射(显示文字,值是代码),但是每一行计量单位是根据项目来的,每个项目计量单位都有两个(一个最大计量单位,一个最小计量单位,如盒、粒,盒、支),如何实现可以下拉框进行选择呀?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

6 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-13 17:32:45
沙发
你是之前用的winform本身的datagridview控件,现在要改用c1flexgrid吗?
实现值映射可以用下面的代码,
但是我没有看明白你说的计量单位有两个,这个是什么意思呢?



  1. // load data into some tables  
  2. var dtProducts = GetDataTable("Products");  
  3. var dtCategories = GetDataTable("Categories");  
  4. var dtSuppliers = GetDataTable("Suppliers");  
  5. // create two data maps  
  6. var mapCat = new Dictionary<int, string>();  
  7. foreach (DataRow row in dtCategories.Rows)  
  8. {  
  9.      var key = (int)row["CategoryID"];  
  10.      var val = (string)row["CategoryName"];  
  11.      mapCat[key] = val;  
  12. }  
  13. var mapSup = new Dictionary<int, string>();  
  14. foreach (DataRow row in dtSuppliers.Rows)  
  15. {  
  16.      var key = (int)row["SupplierID"];  
  17.      var val = (string)row["CompanyName"];  
  18.      mapSup[key] = val;  
  19. }  
  20. // bind grid  
  21. _flex.DataSource = dtProducts;  
  22. // add data maps  
  23. _flex.Cols["CategoryID"].DataMap = mapCat;  
  24. _flex.Cols["SupplierID"].DataMap = mapSup;
复制代码
回复 使用道具 举报
yuyifly82
注册会员   /  发表于:2019-11-14 08:18:11
板凳
您好,不是您理解的意思。
我的意思是,我在表体中可能有N行,每一行都是一种药品。每一种药品都有两个计量单位供我去选择,如何实现计量单位每一单元格一个值映射。
您演示的是针对那一列的值映射,我可能那一列每个单元格都是不同的值映射。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-14 10:35:53
地板
明白了,之前猜测你也是需要这样的功能,只是不确定
开发包这里有一个演示代码,可以参考

ComponentOne Samples\WinForms\v4.5.2\C1FlexGrid\CS\CustomDataMap

点评

啊哈,非常感谢,看来源码还是要多看。  发表于 2019-11-14 10:48

评分

参与人数 1满意度 +5 收起 理由
yuyifly82 + 5 赞一个!

查看全部评分

回复 使用道具 举报
yuyifly82
注册会员   /  发表于:2019-11-14 15:08:35
5#
当c1flexgrid的列只要设置了值映射,那么将对应的单元格的editor获取以后再插入相关的items即可实现插入的值的映射内容。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-11-14 18:28:49
6#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部