你是之前用的winform本身的datagridview控件,现在要改用c1flexgrid吗?
实现值映射可以用下面的代码,
但是我没有看明白你说的计量单位有两个,这个是什么意思呢?
- // load data into some tables
- var dtProducts = GetDataTable("Products");
- var dtCategories = GetDataTable("Categories");
- var dtSuppliers = GetDataTable("Suppliers");
- // create two data maps
- var mapCat = new Dictionary<int, string>();
- foreach (DataRow row in dtCategories.Rows)
- {
- var key = (int)row["CategoryID"];
- var val = (string)row["CategoryName"];
- mapCat[key] = val;
- }
- var mapSup = new Dictionary<int, string>();
- foreach (DataRow row in dtSuppliers.Rows)
- {
- var key = (int)row["SupplierID"];
- var val = (string)row["CompanyName"];
- mapSup[key] = val;
- }
- // bind grid
- _flex.DataSource = dtProducts;
- // add data maps
- _flex.Cols["CategoryID"].DataMap = mapCat;
- _flex.Cols["SupplierID"].DataMap = mapSup;
复制代码 |