winform 中 combox中selectIndex的问题(在先等)

问题描述

DataSetds=newDataSet()DataTabledt=newDataTable("result");//"result"中的数据是从数据库中取到的ds.Tables.add(dt);this.cboComodityNO.DataSource=ds.Tables["result"];this.cboComodityNO.DisplayMember="merchid";为何在程序运行时,触发cboComStyle_SelectedIndexChanged时,MessageBox.show(cboComodityNO.SelectedIndex)取到的值总是为-1?为何呢?请高手教教我,谢谢!在线等

解决方案

解决方案二:
调试一下:ds.Tables["result"].Rows.Count是否大于0
解决方案三:
你直接new了一个ds和dt,有往里填充数据吗?
解决方案四:
应该不会:除非1、cboComodityNO中没有数据;2、在cboComodityNO.SelectedIndex中又调用了其他的操作导致cboComodityNO.SelectedIndex改变了。
解决方案五:
因为你cboComodityNO.items.count=0要先付值。后才有索引!
解决方案六:
引用1楼keconghua的回复:

调试一下:ds.Tables["result"].Rows.Count是否大于0

楼主确定绑定的数据源里面有数据吗?然后还要确定绑定的字段和方法是否正确
解决方案七:
可以通过给外面加一层try{}catch{}的方式跳过第一次的异常我是小菜鸟!说的不好清见谅,希望能够帮到你!
解决方案八:
引用2楼ojlovecd的回复:

你直接new了一个ds和dt,有往里填充数据吗?

看你这点代码好象你的DATATABLE里没数据的啊?那combobox里肯定也是没数据的啊!所以返回值肯定是-1咯!
解决方案九:
我已经把数据库里面的数据在界面上面显示了,我已经在用适配器对象填充了那个datatable,就是selectIndex取值为0,不知道什么原因看了一个帖子有人在ASP中遇到这个问题的,用一个isPage什么方法,但是那个方法在winform中没有
解决方案十:
引用3楼RonoTian的回复:

应该不会:除非1、cboComodityNO中没有数据;2、在cboComodityNO.SelectedIndex中又调用了其他的操作导致cboComodityNO.SelectedIndex改变了。

同意3楼观点,你快速监视一下就知道了

时间: 2024-11-21 06:20:49

winform 中 combox中selectIndex的问题(在先等)的相关文章

wpf-关于WPF中ComBox的问题

问题描述 关于WPF中ComBox的问题 用下拉框做了一个按类别查找,可是取不到里面的文本.在xaml页面怎么写ComBox??在ViewModel.cs呢? 解决方案 在XAML文件中的代码: <Grid x:Name=""LayoutRoot"" Background=""White"" DataContext=""{Binding Source={StaticResource cb}}"

在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常

毕竟人不是神,谁写的程序都会有bug,有了bug不可怕,可怕的是出错了,你却不知道错误在哪里.所以我们需要将应用程序中抛出的所有异常都记录起来,不然出了错,找问题就能要了你的命.下面我们主要讨论的是如何捕捉全局的异常.基本上在winform或web中捕获全局异常的思路都是一样的,在全局的应用程序对象中添加异常捕获的代码,并写入日志文件中. 一.在Winform程序中捕获全局异常 在winfrom中我们需要了解Application对象中的两个事件 ①Application.ThreadExcep

winform windows ce 中 怎么获取DataGrid的行数

问题描述 winform windows ce 中 怎么获取DataGrid的行数 在 winform windows ce 中 怎么获取DataGrid的行数 解决方案 直接获取数据源的数据数量 Adodc1.Recordset.Recordcount 解决方案二: DataGrid.Rows.Count 不行? 解决方案三: 下面的代码示例输出位于指定行和索引处的单元格所包含的值. private void PrintCellValues(DataGrid myGrid){ int iRow

mfc-MFC 应用开发中Combox显示下拉框的内容,怎样才能列表中的字段发生变化,而当前选中的也发生变化

问题描述 MFC 应用开发中Combox显示下拉框的内容,怎样才能列表中的字段发生变化,而当前选中的也发生变化 MFC 应用开发中Combox显示下拉框的内容,怎样才能列表中的字段发生变化,而当前选中的也发生变化.我是基于文档开发的,每次列表内容发生改变,但是当前所选的源数据内容却不发生变化,需要人为手动去选择,请问有什么好的解决办法吗? 解决方案 最简单的是用定时器不断查询数据库,如果有变化,就更新界面. 解决方案二: 用addstring函数动态插入就可以了 解决方案三: addstring

winform子窗体中的多线程怎么完全释放

问题描述 winform子窗体中的多线程怎么完全释放 我在主窗体中打开一个子窗口,然后这个子窗口中有三个多线程,当窗口关闭的时候,如何完全释放掉这三个多线程.要不然每次打开就会多三个线程,系统会越来越卡. 补充:我的三个线程里都是while(true){}无限循环 解决方案 线程执行完毕就会自行释放,你一定要让线程有退出的条件,比如置一个变量,在内部循环中判断,从而退出while等循环操作 解决方案二: 当然,有强制杀死进程的api方法,但是不提倡使用 解决方案三: 可以在窗口退出事件如OnFo

winforms-C#Winfrom中如何在combox中输入首字母下拉表中出现对应汉字

问题描述 C#Winfrom中如何在combox中输入首字母下拉表中出现对应汉字 如题,我在数据库中建立了表,首字母和相应的汉字都有,如何在程序中让combox输入首字母显示出汉字呢,就像12306订票系统一样,在站台名中输入首字母出现汉字. 解决方案 因为你已经有你的数据库表,所以可以参考一下根据拼音首字母进行过滤的combobox关于扩展可以支持拼音首字母查询的ComboBox自定义控件,可以参考支持拼音首字母查询的ComboBox 解决方案二: 参考:http://download.csd

WinForm的窗体中怎么在DataGrid中放入ComboBox控件(50分)

问题描述 WinForm的窗体中怎么在DataGrid中放入ComboBox控件我的代码:DataGridTextBoxColumndgtb=(DataGridTextBoxColumn)DBG.TableStyles[0].GridColumnStyles[0];ComboBoxcbmDBG=newComboBox();cbmDBG.Items.AddRange(newobject[]{"选项一","选项二","选项三","选项四&q

c#-winform在datagrieview中对checkbox的使用问题。。

问题描述 winform在datagrieview中对checkbox的使用问题.. [winform中在datagrieview添加checkbox,最后遍历checkbox时,即使在前端全选但是也只能得到索引最大的一个值,怎么办?

winform 无边框中添加的pannel 怎么实现移动 与缩放

问题描述 winform 无边框中添加的pannel 怎么实现移动 与缩放 最近在做一个无边框的窗体界面,通过百度查询了实现窗体的移动与缩放,但是在窗体上添加了pannel 以后,运行后就不能够实现,点击控件处实现以上功能,请问怎么实现了 代码如何写了 小白求助!!!!!!! 解决方案 还有一种方法,就是让Panel不处理鼠标消息,也就是漏掉鼠标消息,可以拦截掉WM_NCHITTEST,然后再这个里面返回HTTRANSPARENT; 参考这里http://blog.csdn.net/suiyun