WPF AutoGeneratingColumn 绑定下拉框
WPF自动产生列,前台代码:
<DataGrid x:Name="Dg" AutoGenerateColumns="True" CanUserAddRows="False"
AutoGeneratingColumn="Dg_OnAutoGeneratingColumn"
DataGrid绑定DataTable
private void TestPage_Loaded(object sender, RoutedEventArgs e)
{
var dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("gender");
dt.Columns.Add("xAge"); DataRow newRow = dt.NewRow();
newRow["ID"] = "ID";
newRow["Name"] = "Name";
newRow["gender"] = "gender";
newRow["xAge"] = "xAge";
dt.Rows.Add(newRow); Dg.ItemsSource = dt.DefaultView;
}
因为数据源不固定(列名、列个数都不固定),所以必须自动生成列,并为每一列绑定下拉框;
下拉框的默认选中项为列的标题。实现字段映射功能
private void Dg_OnAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
var sexType = new List<string> { "Age", "gender", "ID", "Name","Country" };
var column = new DataGridTemplateColumn { Header = e.PropertyName };
var dataTemplate = new DataTemplate();
var fef = new FrameworkElementFactory(typeof(ComboBox));
var binding = new Binding { Source = sexType };
fef.SetBinding(ItemsControl.ItemsSourceProperty, binding);
var selectVal = new Binding(e.PropertyName);//根据列名设置默认值
fef.SetBinding(Selector.SelectedValueProperty, selectVal);
dataTemplate.VisualTree = fef;
column.CellTemplate = dataTemplate;
e.Column = column;
e.Column.Width = 100;
}
效果图:
WPF AutoGeneratingColumn 绑定下拉框的更多相关文章
- 奥展项目笔记07--vue绑定下拉框和checkbox总结
1.vue绑定下拉框 <div class="col-md-1 data"> <select class="form-control " v- ...
- jquery easyui无法绑定下拉框内容
最近在研究jquery easyui的DataGrid,发现DataGrid中的下拉框无法绑定值,找了很久也没发现是具体问题所在,最后还是同事帮忙搞定的.具体问题竟然是jquery easyui提供的 ...
- 绑定下拉框时避免触发SelectedIndexChanged事件
在从数据库读取数据集绑定到下拉框时会立即触发其SelectedIndexChanged事件造成异常,可对其SelectedIndexChanged事件采取先解除后附加的方法解决. cmbXl_gt.V ...
- js绑定下拉框
---恢复内容开始--- 方法一 js-ajax部分 function GetDListOfCt() { $.ajax({ url: "../../Ajax/Boss_Show.ashx?t ...
- MVC4 绑定下拉框方法,解决编辑时不绑定值
方法一 Controller 部分代码: public ActionResult Modify(int id) { //3.1.1 检查id //3.1.2根据id查询数据 Models.Stude ...
- Select级联菜单,用Ajax获取Json绑定下拉框(jQuery)
需求类似这样 ↓ ↓ ↓ --> 菜单A发生变化,动态取数据填充下拉菜单B. JS代码如下: <script type="text/javascript"& ...
- c# wpf ComboBox 动态下拉框 及 动态默认值设定
1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...
- MVC联想查询绑定下拉框
前言 在做搜索时,输入些内容时需要弹出下拉框给用户进行选择,极大的方便了用户,会给用户带来不一样的体验 Controller public ActionResult SSAC(string UserN ...
- .net简单页面后台绑定下拉框,按钮,分页 后台cs文件
二.cs文件 using System;using System.Collections.Generic;using System.Web.UI;using System.Web.UI.WebCont ...
随机推荐
- 【转】【阮一峰的网络日志】Git 使用规范流程
作者: 阮一峰 日期: 2015年8月 5日 团队开发中,遵循一个合理.清晰的Git使用流程,是非常重要的. 否则,每个人都提交一堆杂乱无章的commit,项目很快就会变得难以协调和维护. 下面是Th ...
- 安装XCode导致mac无法正常开机怎么办
作为一个IOS编程菜鸟,之前在网上买的IOS教程都坑爹的是xcode4以前的版本的,由于3和4界面变化较大,所以看着书往往不知所云,所以就迫不及待地从网上下载了XCode 3.2.5+iOS SDK ...
- 深入理解Objective-C:优化你的代码
开篇 只要用到Objective-C,我们每天都会跟方法调用打交道.我们都知道Objective-C的方法决议是动态的,但是在底层一个方法究竟是怎么找到的,方法缓存又是怎么运作的却鲜为人知. 本文主要 ...
- [一位菜鸟的COCOS-2D编程之路]COCOS2D中得动作,特效和动画
一,CCActionManager 管理所有节点动作的对象 来看看打飞机里面的一个onEnter 方法 - (void)onEnter { [super onEnter]; //一定要注意添加此方法, ...
- 如何在google test中指定只运行一部分测试
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在google test中指定只运行一部分测试.
- JMeter Tutorial的安装和具体操作
1.下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版为2.9,其余文件如源代码等也可从如下官网下载: http://jm ...
- 解决Qt5使用SSL的“qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method”错误
在使用Qt的网络组件连接某些服务器时, 会提示"qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method"的错误 ...
- 基于前端javascript的搜索功能
发表于 2013/11/07 当在数据量不是很大,而且没有后端对应的功能接口的时候,一些简单的搜索功能基本上是前端去实现的,正好最近用到,写了一个,贴出来和大家分享: 功能描述: 按下键盘后及时搜索条 ...
- Bison executable not found in PATH by mysql install
[root@luozhonghua mysql-5.5.21]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/d ...
- Div+css中ul ol li dl dt dd使用
ol 有序列表.<ol><li>……</li><li>……</li><li>……</li></ol>表现 ...