C#如何获取comboBox所选的文本内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何获取comboBox所选的文本内容相关的知识,希望对你有一定的参考价值。

private void LoadCategory()//加载学院

var parents = _categoryProvider.GetAllParent();
comboBox1.DisplayMember = "ClassName";
comboBox1.ValueMember = "ClassId";
comboBox1.DataSource = parents;


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)//选择学院后,显示相应的班级

var selection = Convert.ToInt32(comboBox1.SelectedValue);
var children = _categoryProvider.GetChildren(selection);
comboBox2.DisplayMember = "ClassName";
comboBox2.ValueMember = "ClassId";
comboBox2.DataSource = children;

以上是对两comboBox进行的设置,我用了comboBox.SelectText属性,但获取不了它的文本值
貌似根本没有文本值,上面那段代码,我也看的不是很懂,求大神指教!在下感激不尽!

//从数据库中得到需要绑定的数据集合

var parents = _categoryProvider.GetAllParent();

//显示给用户看的字段

comboBox1.DisplayMember = "ClassName";

//选择后传递给数据库的字段

comboBox1.ValueMember = "ClassId";

//把数据绑定给下拉框

comboBox1.DataSource = parents;

将选中的文本内容在标签里显示出来,代码如下:

private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)

label1.Text = comboBox1.Text;   //显示在标签上

拓展资料

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

参考技术A 将选中的文本内容在标签里显示出来,代码如下:
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)

label1.Text = comboBox1.Text; //显示在标签上
参考技术B //从数据库中得到需要绑定的数据集合
var parents = _categoryProvider.GetAllParent();
//显示给用户看的字段
comboBox1.DisplayMember = "ClassName";
//选择后传递给数据库的字段
comboBox1.ValueMember = "ClassId";
//把数据绑定给下拉框
comboBox1.DataSource = parents;

我看了你的第二段代码
//这一行代码没有得到值吗?感觉不应该啊
comboBox1.SelectedValue;

参考技术C comboBox1.SelectedItem.ToString() 就可以了。SelectText属性是表示你用鼠标选择的高亮文本。 参考技术D comboBox所选的文本内容
直接comboBox.Text 就可以啊本回答被提问者和网友采纳

如何在我的 DataGrid 中获取所选单元格的当前列(C# WPF 应用程序)

【中文标题】如何在我的 DataGrid 中获取所选单元格的当前列(C# WPF 应用程序)【英文标题】:How to get current column of selected cell in my DataGrid (C# WPF Application) 【发布时间】:2021-07-30 22:00:45 【问题描述】:

我想用 RowFilter 过滤我的 DataGrid。用户应该能够通过选择一个单元格来选择他的列。比他把一些文本放在一个文本框中,他可以过滤数据网格。我尝试了一些东西,但它们没有用。也许我可以在这里得到一些帮助 :) 我会很高兴收到每一个回复。这是我的代码和我尝试过的事情:

private void Filter_Click(object sender, RoutedEventArgs e)
        
            DataView DV1 = DT1.DefaultView;        // DT1 is my DataTable-Object
            // DV1.RowFilter = "Column1 = '" + Filter.Text + "'";   This works fine
            DV1.RowFilter = "'" + DataGrid1.CurrentCell.Column+ "' = '" + Filtern.Text + "'"; // When i try this it doesnt work
            DataGrid1.ItemsSource = DV1;
        

我尝试了其他一些命令:DataGrid1.CurrentCell.Column.DisplayIndex 或 DataGrid1.CurrentCell.Column.Header 或 DataGrid1.CurrentColumn,但我总是收到错误消息。指挥部给了我一个 0。也许有人有想法?

【问题讨论】:

这能回答你的问题吗? How to find column name with column index in DataGridView? 【参考方案1】:

从 DataGridView 中获取当前列名:

int columnIndex = DataGrid1.CurrentCell.ColumnIndex;
string columnName = DataGrid1.Columns[columnIndex].Name;

接下来,您的 RowFilter 不正确,列名不应包含引号 '

DV1.RowFilter = <<ColumnName>> + " = '" + Filtern.Text + "'";

最后,你的代码应该如下:

private void Filter_Click(object sender, RoutedEventArgs e)

    DataView DV1 = DT1.DefaultView;
    
    // Get column name
    int columnIndex = DataGrid1.CurrentCell.ColumnIndex;
    string columnName = DataGrid1.Columns[columnIndex].Name;

    DV1.RowFilter = String.Format("0 = '1'", columnName, Filtern.Text); 
    DataGrid1.ItemsSource = DV1;

注意:这种过滤方式仅适用于具有 string 值的列。

【讨论】:

【参考方案2】:

试试这个:

DataGrid1.SelectedCells[0].ColumnIndex

0 是第一个被选中的元素

【讨论】:

【参考方案3】:

谢谢各位!我明白了:)

这是我的代码,希望对其他人有所帮助:

int columnIndex = DataGrid1.SelectedCells[0].Column.DisplayIndex; 
string columnname = Convert.ToString(DataGrid1.Columns[columnIndex].Header);
string fullcommand = string.Format("0 = '1'", columnname, Filtern.Text);
DataView DV1 = DT1.DefaultView; 
DV1.RowFilter = fullcommand;
DataGrid1.ItemsSource = DV1;

【讨论】:

以上是关于C#如何获取comboBox所选的文本内容的主要内容,如果未能解决你的问题,请参考以下文章

QT中ComboBox如何获取选中的文本内容??下面程序出错了,如何改正?

如何在 C# 中获取 dataGridView 中所有 Combobox 列的显示成员?

WPF C# 在运行时将文本和图像添加到 ComboBox

如何在我的 DataGrid 中获取所选单元格的当前列(C# WPF 应用程序)

c#如何获取comboBox当前选中的值

c# 高手来帮帮忙ComboBox下拉菜单的问题