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 列的显示成员?