WPF 后台添加DataGrid
2016-04-15 10:02
369 查看
public DataGrid CreateDataGrid() { //自定义DataGrid DataGrid dataGrid = null; dataGrid = new DataGrid(); dataGrid.Height = 340; dataGrid.Margin = new Thickness(10, 30, 0, 0); dataGrid.IsReadOnly = true; dataGrid.AutoGenerateColumns = false; dataGrid.CanUserResizeColumns = false; System.Windows.Data.Binding binding = null; binding = new System.Windows.Data.Binding("E_ID"); binding.Mode = System.Windows.Data.BindingMode.OneWay; DataGridTextColumn dgtcE_Id = null; dgtcE_Id = new DataGridTextColumn(); dgtcE_Id.Header = "列头1"; dgtcE_Id.Width = 70; dgtcE_Id.Visibility = Visibility.Collapsed; dgtcE_Id.Binding = binding; dataGrid.Columns.Add(dgtcE_Id); binding = new System.Windows.Data.Binding("E_Type"); binding.Mode = System.Windows.Data.BindingMode.OneWay; DataGridTextColumn dgtcE_Type = null; dgtcE_Type = new DataGridTextColumn(); dgtcE_Type.Header = "列头2"; dgtcE_Type.Width = 200; dgtcE_Type.Binding = binding; dataGrid.Columns.Add(dgtcE_Type); binding = new System.Windows.Data.Binding("E_TypeName"); binding.Mode = System.Windows.Data.BindingMode.OneWay; DataGridTextColumn dgtcE_TypeName = null; dgtcE_TypeName = new DataGridTextColumn(); dgtcE_TypeName.Header = "列头3"; dgtcE_TypeName.Width = 200; dgtcE_TypeName.Binding = binding; dataGrid.Columns.Add(dgtcE_TypeName); binding = new System.Windows.Data.Binding("E_State"); binding.Mode = System.Windows.Data.BindingMode.OneWay; DataGridTextColumn dgtcReveaState = null; dgtcReveaState = new DataGridTextColumn(); dgtcReveaState.Header = "列头4"; dgtcReveaState.Width = 120; dgtcReveaState.Binding = binding; dataGrid.Columns.Add(dgtcReveaState); //DataGrid中Column的内容居中 Style styleRight = new Style(typeof(TextBlock)); Setter setRight = new Setter(TextBlock.HorizontalAlignmentProperty, HorizontalAlignment.Center); styleRight.Setters.Add(setRight); foreach (DataGridColumn c in dataGrid.Columns) { DataGridTextColumn tc = c as DataGridTextColumn; if (tc != null) { tc.ElementStyle = styleRight; } } //表头居中 Style style = new Style(typeof(DataGridColumnHeader)); setRight = new Setter(DataGridColumnHeader.HorizontalContentAlignmentProperty, HorizontalAlignment.Center); style.Setters.Add(setRight); dataGrid.ColumnHeaderStyle = style; return dataGrid; }
设置满足某条件行的背景色
private void datagrid_LoadingRow(object sender, DataGridRowEventArgs e) { var drv = e.Row.Item as DataRowView; switch (drv["ID"].ToString()) { case "1": e.Row.Background = new SolidColorBrush(Colors.Green); break; case "2": e.Row.Background = new SolidColorBrush(Colors.Yellow); break; case "3": e.Row.Background = new SolidColorBrush(Colors.CadetBlue); break; } }
。
相关文章推荐
- VideoView视频播放器
- linux环境下安装mysql5.5报错
- inconfont 字体库应用
- 各种 没整理
- WordPress 博客文章时间格式the_time()设置
- 主线程和子线程的合理使用01
- 41个词讲清楚MapReduce
- UIWebView UITextView
- Oracle总结
- ASP.NET中Dictionary如何转换为list
- IQueryable与IEnumberable的区别
- 给MWC飞控添加HC-SR04声呐支持[译]
- 要求从用户输入的多行文本中提取学生的姓名、学号及登录日期,并封装到 Student 类中作为类的私有属性。创建一个 Student 类型的对象数组,对学号进行 升序排序并输出
- matlab数值积分技巧之将符号表达式转化为函数句柄
- 【原创】k8s源码分析-----kube-proxy(2)ProxyServer
- USB hid通信 间隔报告的困扰
- 开源代码网站
- wp insert post 插入文章到数据库-做投稿或者前端表单时使用
- SQL Server中如何快速比较两张表的不一样
- Android UltimateRecyclerView优雅地使用RecyclerView