WPF dataGrid 绑定ComboBox

WPF dataGrid绑定ComboBox

Wpf中dataGrid中的某列是comboBox解决这个问题费了不少时间,不废话了直接上代码

xaml 代码

<DataGridTemplateColumn Header="组名">

  <DataGridTemplateColumn.CellTempLate>

<DataTemplate>

      <ComboBox SelectedValue="{Binding Path=Name}" ItemSource={Binding Path=SelectionList,RelativeSource

={RelativeSource AncestorType={x:Type UserControl},Mode=FindAncestor}}></ComboBox>

<DataTemplate>

<DataGridTemplateColumn.CellTempLate>

</DataGridTemplateColumn >

xmal的代码写完了。下面写后台代码。

.cs代码如下:

public ObservableCollection<string> SelectionList //ObservableCollection这是一个类,需引用(using System.Collections.ObjectModel)

{

  get{return _selectionList;}

  set{_selectionList=value;}

}

private observableCollection<string> _selectionList=new observableCollection<string>(); 这个是实现的重要一步

为什么用ObservableCollection类,可自行网上搜索

接下来应该给SelectionList 添加下来值了。

SelectionList .Add("Name1");

SelectionList .Add("Name2");

这样ComboBox的下来框就有Name1和Name2了,当然SelectionList也可以添加后台查询出来的DataTabel的值,无非就是加个循环而已

这是值给ComboBox添加值而已,最后一步,把从数据库查出来的值绑定到ComboBox上,让其实默认展示项

(select name ,field ...from table )查询出一个DataTable的集合

dataGrid的name(自己起的名字)dataGrid.ItemSource=DataTable.DefaultView;

这样查询出的name将会绑定在ComboBox上。

时间: 2024-11-05 19:27:09

WPF dataGrid 绑定ComboBox的相关文章

WPF DataGrid绑定一个组合列

WPF DataGrid绑定一个组合列 前台: <Page.Resources>        <local:InfoConverter x:Key="converter"></local:InfoConverter>    </Page.Resources> <DataGridTextColumn>                        <DataGridTextColumn.Binding>      

WPF DataGrid 绑定数据及时更新的处理

原文:WPF DataGrid 绑定数据及时更新的处理 默认情况下datagrid 绑定数据源后,在界面编辑某一列后,数据不会及时更新到内存对象中.如在同一行上有一个命令对来获取 当前选中行(内存对象)发现,数据未更新过来. 解决办法: 在列的绑定属性里加上UpdateSourceTrigger,示例XAML如下 <DataGrid Name="dgProducts" IsReadOnly="False" CanUserAddRows="False&

WPF DataGrid绑定及列居中

基本的数据绑定 把集合的字段(属性)绑定在DataGrid的Binding属性就能将数据绑定列表 1 public class CashItem { 2 public int Value { get; set; } 3 public int Count { get; set; } 4 public int Amount { get { return Value * Count; } } 5 } 1 var items = new List<CashItem>() { 2 new CashIte

WPF DataGrid绑定到数据源的方法

1 string conStr = System.Configuration.ConfigurationManager.ConnectionStrings["str"].ConnectionString; 2 SqlConnection con = new SqlConnection(conStr); 3 SqlCommand command = new SqlCommand(); 4 command.CommandText = "select * from test&quo

WPF中DataGrid的ComboBox的简单绑定方式(绝对简单)

在写次文前先不得不说下网上的其他wpf的DataGrid绑定ComboBox的方式,看了之后真是让人欲仙欲死. 首先告诉你一大堆的模型,一大堆的控件模板,其实或许你紧紧只想知道怎么让combobox怎么显示出来而已. 惯例先上图: 达到这样的效果其实很简单,除了让数据模型之外紧紧只有几行代码. 先看数据模型: public class VModel : INotifyPropertyChanged { private string _Name; public string Name { get

WPF DataGrid 每行ComboBox 内容不同的设置方法

原文:WPF DataGrid 每行ComboBox 内容不同的设置方法 <toolkit:DataGridComboBoxColumn x:Name="DgCbcSignal" Header="信号源" SelectedItemBinding="{Binding SelectedSignal}" > <toolkit:DataGridComboBoxColumn.ElementStyle> <Style Targe

WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.

WPF DataGrid某列使用多绑定后该列排序失效 2011-07-14 10:59hdongq | 浏览 1031 次  悬赏:20 在wpf的datagrid中某一列使用了多绑定,但是该列排序失效,就是点击他的列表头无法进行排序了.xaml如下:<DataGridTextColumn Width="100" Header="{res:Localize Flexem.Studio.HMIControls.AddressLabel.DataType}">

WPF DataGrid、ListView 简单绑定

DataGrid运行效果: xaml 代码: DataGridName= dtgData ItemsSource= {Binding} AutoGenerateColumns= False DataGrid.Columns DataGridTextColumnBinding= {BindingPath=id} Header= ID HeaderStringFormat= id / DataGridTextColumnBinding= {BindingPath=name} Header= 名称 H

WPF 根据绑定值设置DataGrid行背景色

实现这个功能可以使用类型转换器 1建立一个类BGConverter.cs该类需要继承IValueConverter接口,并实现接口的Convert与ConvertBack方法.注意在Class上需要加上一句话, [ValueConversion(typeof(int),typeof(Brushes))] 前一个type是源类型,后一个是目标类型 [ValueConversion(typeof(int),typeof(Brushes))] class BGConverter:IValueConve