ComboBox中选定项目WPF C# [英] Combobox Selected Item WPF c#
本文介绍了ComboBox中选定项目WPF C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在WPF组合框获取所选的项目。但它返回System.Data.DataRowView。我在XAML代码:
<组合框名称=ddDeputi保证金=131,85,0,0WIDTH = 327的HorizontalAlignment =左VerticalAlignment =评出的高度=22
的SelectedValue ={绑定路径= kodeDep,ValidatesOnDataErrors = TRUE,UpdateSourceTrigger =的PropertyChanged}
Validation.ErrorTemplate ={ X:空}的SelectionChanged =ddDeputi_SelectionChanged加载=ddDeputi_Loaded/>
在我的.cs:
私人无效ddDeputi_SelectionChanged(对象发件人,SelectionChangedEventArgs E)
{
如果(ddDeputi.SelectedIndex!= -1)
{
串akode = ddDeputi.SelectedValue.ToString();
DaUnitKerja ODA =新DaUnitKerja();
的数据集的数据=新的DataSet();
数据= oDa.TampilDir(akode);
ddDir.ItemsSource = data.Tables [0] .DefaultView;
ddDir.DisplayMemberPath = data.Tables [0] .Columns [unit_kerja]的ToString();
ddDir.SelectedValuePath = data.Tables [0] .Columns [科德]的ToString()。
ddSubDir.SelectedIndex = -1;
ComboBoxItem CBI =(ComboBoxItem)ddDeputi.ItemContainerGenerator.ContainerFromItem(ddDeputi.SelectedItem);
txtDeputi.Text = cbi.Content.ToString();
}
}
解决方案
当您绑定到ADO.NET你永远是数据绑定到DataView。每个DataRowView的包装在源数据表
您可以通过以下获得所选的DataRow一个DataRow:
DataRowView的selectedDataRowView =(DataRowView的)ddDir.SelectedItem;
的DataRow selectedRow = selectedDataRowView.Row;
I want to get selected item in combobox wpf. But it returns System.Data.DataRowView. My code in xaml :
<ComboBox Name="ddDeputi" Margin="131,85,0,0" Width="327" HorizontalAlignment="Left" VerticalAlignment="Top" Height="22"
SelectedValue="{Binding Path = kodeDep, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
Validation.ErrorTemplate="{x:Null}" SelectionChanged="ddDeputi_SelectionChanged" Loaded="ddDeputi_Loaded" />
And in my .cs :
private void ddDeputi_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (ddDeputi.SelectedIndex != -1)
{
string akode = ddDeputi.SelectedValue.ToString();
DaUnitKerja oDa = new DaUnitKerja();
DataSet data = new DataSet();
data = oDa.TampilDir(akode);
ddDir.ItemsSource = data.Tables[0].DefaultView;
ddDir.DisplayMemberPath = data.Tables[0].Columns["unit_kerja"].ToString();
ddDir.SelectedValuePath = data.Tables[0].Columns["kode"].ToString();
ddSubDir.SelectedIndex = -1;
ComboBoxItem cbi = (ComboBoxItem)ddDeputi.ItemContainerGenerator.ContainerFromItem(ddDeputi.SelectedItem);
txtDeputi.Text = cbi.Content.ToString();
}
}
解决方案
When you bind to ADO.NET you are always data-binding to a DataView. Each DataRowView wraps a DataRow in the source DataTable
You can get the selected DataRow via the following:
DataRowView selectedDataRowView = (DataRowView)ddDir.SelectedItem;
DataRow selectedRow = selectedDataRowView.Row;
这篇关于ComboBox中选定项目WPF C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文