FlexGrid for WPF 帮助文档
数据映射列

数据映射列包含键而不是实际值。例如,该列可能包含一个整数,表示一个国家标识,但用户应该看到并编辑相应的国家名称。

这种情况需要一点点的代码行:

C#
拷贝代码
// 建立键-值字典 
var dct = new Dictionary<int, string>(); 
foreach (var country in GetCountryNames()) 
{ 
  dct[dct.Count] = country; 
} 
 
// 指定字典至列
var c = _flexEdit.Columns["CountryID"]; 
c.ValueConverter = new ColumnValueConverter(dct); 
c.HorizontalAlignment = HorizontalAlignment.Left;

代码首先是构建一个映射国家标识值(整数)到国家名称(字符串)的字典。

然后使用词典构建ColumnValueConverter 并指定转换器至列的ValueConverter属性,就像之前的示例那样。
用户可以选择在字典里现有的国家,且不允许输入任何未经映射的值。

最后,该代码将该列的对齐方式设置为左对齐。由于该列实际上包含整数值,它将默认为右对齐。但是,因为我们现在需要显示国家的名字,在这里左对齐是一个更好的选择。


下图显示编辑器的外观,同时从列表中选择一个值。注意这里编辑器是如何支持自动完成的,当用户键入“Ger”下拉框将自动选择有效的选项“Germany”(而不是“Guatemala”,或者“Eritrea”,再或者“Romania”)。

查看其它

 

 


产品网站:http://www.gcpowertools.com.cn  |  咨询热线:4006576008   |   ©2015 西安葡萄城