ComboBox中选定项目WPF C# [英] Combobox Selected Item WPF c#

查看:232
本文介绍了ComboBox中选定项目WPF C#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在WPF组合框获取所选的项目。但它返回System.Data.DataRowView。我在XAML代码:

 <组合框名称=ddDeputi保证金=131,85,0,0WIDTH = 327的Horizo​​ntalAlignment =左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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆