请教C# winform 中comboBox的问题

来自故乡的风 2010-05-09 06:08:19
我建了一个表单,还有一个Northwind的Dataset。

Form中有一个comboBox,同数据源相连(Category表)。其中DisplayMember=CategoryName, ValueMember=CategoryID。

还有三个TextBox, 每一个显示选中的值。程序如下:

private void categoriesComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
this.textBox1.Text = this.categoriesComboBox.SelectedValue.ToString();
this.textBox2.Text = this.categoriesComboBox.Text;

this.textBox3.Text = this.categoriesComboBox.SelectedIndex.ToString();
}

第一个显示的是CategoryID,第二个显示的是CategoryName,第三个显示的是索引值。

运行没问题,但是在关闭时出错(在第一个CategoryID),信息是:
Object reference not set to an instance of an object

请问这是什么原因,怎么解决?多谢!

另外显示名称时,用this.textBox2.Text = this.categoriesComboBox.SelectedText;
也出错,用SelectedItem也一直没有成功。怎么办好呢?
...全文
162 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
来自故乡的风 2010-05-09
  • 打赏
  • 举报
回复
楼上的高手们太厉害了!我加了一个判断条件就好了。谢谢谢谢!

那么接下来,如果我想把ComboBox里选中的值作为条件,在一个DataGridView里显示详细信息,该怎么办?

我在DataSet里,已经包含了一个Product表,默认的Query 是全部记录。因此我又加了一个Query:
SELECT ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued
FROM Products
WHERE (CategoryID = @CategoryID)

但是怎么在DataGridView里根据ComboBox选中的值显示出来呢?

再次感谢各位的热心回复!
影子_爱人 2010-05-09
  • 打赏
  • 举报
回复
帮你顶
zzx509 2010-05-09
  • 打赏
  • 举报
回复
第一个问题:你要考虑selectedIndex=-1的情况。
this.textBox1.Text =(string)this.categoriesComboBox.SelectedValue;
第二个问题:SelectedText是指用户框选了combobox当前文本内容的哪些部分,在索引改变时还没有选择,
这个属性是空串。
数据源来自DataTable,SelectedItem是DataRowView对象,不是string类型。
wuyq11 2010-05-09
  • 打赏
  • 举报
回复
if(categoriesComboBox.SelectedItem !=null)
{}
DataRowView drv = (DataRowView)comboBox1.SelectedItem;
string Id = drv.Row["id"].ToString();

private void cmb_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show(((ListItem)cmb.SelectedItem).ID);
}
lzsh0622 2010-05-09
  • 打赏
  • 举报
回复
this.categoriesComboBox.SelectedValue.ToString();
this.categoriesComboBox.SelectedText;

// 这两种用法需要有选中项,否则,会提示引用项没有实例化。


if (comboBox1.SelectedItem != null)
{
//...
}
KnowKjava 2010-05-09
  • 打赏
  • 举报
回复
先实例化
afeng@2008 2010-05-09
  • 打赏
  • 举报
回复
引用的对象没有被实例化

楼主可以写一一个选择项改变的事件 进行观察
本文基于国A股上市企业数据,分析了逻辑型和学习型AI技术应用对企业创新的影响。通过机器学习生成AI词典并分析年报文本,测量AI应用水平。研究发现,AI应用通过增加知识多样性、打破组织惯例和提高资源配置效率促进企业创新,且企业的吸收能力增强了这一促进作用 参照李玉花(2024)的做法,团队对来自国工业经济《人工智能技术应用如何影响企业创新》一文的基准回归部分进行复刻 团队将原文数据更新至2023年,并对基准回归进行复刻。数据年份为2007-2023年,包括原始数据、处理dofile,基准回归代码 一、数据介绍 数据名称:人工智能技术应用如何影响企业创新 数据范围:A股上市公司 数据年份:2007-2023年 有效样本:33615条 数据说明:参考《管理世界》姚加权(2024)的做法,测算人工智能水平 内含原始数据、dofile和基准回归 二、数据指标 股票代码 股票简称 年份 省份 城市 区县 省份代码 城市代码 区县代码 行业代码 行业名称 企业上市年龄_年 是否ST或金融类 总资产_万元 营业收入增长率_% 资产负债率_% 总资产收益率_% 研发投入占营业收入比例_% 人工智能词频和 人工智能词频和加1取对数 企业专利申请总量 企业发明专利申请量 企业专利授权总量 企业发明专利授权量 三、参考文献 李玉花,林雨昕,李丹丹.人工智能技术应用如何影响企业创新[J].国工业经济,2024,(10):155-173.

111,111

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧