A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dqzg12300 中级黑马   /  2012-10-27 09:24  /  2929 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

比如一个combox。是选择省份,另外一个combox是选择城市,我想给他们各设置一个初始值,请选择省份和请选择城市。但是选择城市的combox·在每次省份更改的时候·都要清空一下所有数据,再重新遍历加载新的城市。我之前的做法是city.Items.Clear();city.Items.Add("请选择城市");city.selectIndex=0;清空后再重新设定然后再把这个值默认为显示的。有办法可以使clear()不清空第一条数据么,或者说不清空指定的数据

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

3 个回复

倒序浏览
亚金你问题还真多啊。clear是清除全部用的,如果是清除一行要用remove(根据内容清)或removeAt(根据索引清)。
比如要清除combox1里第二项开始的元素,可以用:
  1. //方法1:通过循环清除combox1第二项以后的内容
  2. //combox1在设计模式编辑项中添加了1、2、3等元素
  3. //特别注意不能使用i++,因为每次循环comboBox1清除一项后,另一项会往上移动
  4. for (int i = 1; i < comboBox1.Items.Count; )
  5. {
  6. comboBox1.Items.RemoveAt(i);
  7. //这样的结果是只保留1
  8. }
复制代码
不过这个只是提供一种删除项的思路,实际上,如果想保留请选择城市,只需把combox的text设置为请选择城市即可。
  1. //方法2:直接设置text属性,因为clear只清除项,不清楚text
  2. comboBox1.Items.Clear();
复制代码
而不是用设置请选择城市为默认显示项的方式。你拿代码测试一下。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
{:soso_e106:}问题多一点。但都是小问题嘛。大问题就百度去了
回复 使用道具 举报
恩呵呵学习了!我再补充一点,让人容易错的,如果要清空选项的话,注意需要倒着删,这样就完美了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马