首页 > 代码库 > WPF dataGrid 绑定ComboBox

WPF dataGrid 绑定ComboBox

                                WPF dataGrid绑定ComboBox

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

xaml 代码

<DataGridTemplateColumn Header="组名">

  <DataGridTemplateColumn.CellTempLate>

            <DataTemplate>

      <ComboBox SelectedValue="http://www.mamicode.com/{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上。

 

WPF dataGrid 绑定ComboBox