| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 798 人关注过本帖
标题:把源列表框里的选项全部移到目的列表框里的算法
只看楼主 加入收藏
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
结帖率:95.12%
收藏
已结贴  问题点数:5 回复次数:7 
把源列表框里的选项全部移到目的列表框里的算法
以下是把源列表框里的选项全部移到目的列表框里的算法

protected void Button1_Click(object sender, EventArgs e)
    {
        int count = lbxSource.Items.Count;
        int index=0;
        for(int i=0;i<count;i++){
            ListItem ltem=lbxSource.Items[index];
            lbxSource.Items.Remove(ltem);
            lbxDest.Items.Add(ltem);
            
        }
        index++;
     }
小弟有点不明白,为什么把index++放在循环以外,放在for循环外面那当我们点击按钮的时候index++不是只执行一次吗?如果是这样的话为什么能把所有的选项移到目的列表框里呢?
 ListItem ltem=lbxSource.Items[index];还有这一句具体是什么意思哦,刚学, 不太懂?lbxSource.Items[index]这个获取的是不是第几个选项的意思呢,比如index=1,那么ltem是不是也等于1啊?


望各位高手指点,谢谢了!
搜索更多相关主题的帖子: 选项 算法 列表 目的 
2010-04-03 19:39
saitor
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:5
帖 子:373
专家分:1520
注 册:2009-5-18
收藏
得分:5 
这谁写代码?index++;这里完全没有意义。每次点击index都是0,ListItem ltem=lbxSource.Items[index];得到个ListItem ,lindex这个你理解正确。ltem不是等于1是等于ITEMS里的第index下标里的元素
2010-04-04 10:42
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
谢谢哦,可是我把程序改了之后是错的,比如
protected void Button1_Click(object sender, EventArgs e)
    {
        int count = lbxSource.Items.Count;
        for(int i=0;i<count;i++){
            ListItem ltem=lbxSource.Items[i];
            lbxSource.Items.Remove(ltem);
            lbxDest.Items.Add(ltem);
            
        }
     }
2010-04-04 20:47
saitor
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:5
帖 子:373
专家分:1520
注 册:2009-5-18
收藏
得分:0 
lbxSource.Items.Remove(ltem); lbxSource集合数变小,你再循环最初的lbxSource个数次,以第几次数当下标,当然会报空指针异常
2010-04-04 21:27
saitor
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:5
帖 子:373
专家分:1520
注 册:2009-5-18
收藏
得分:0 
错了是索引超出异常
2010-04-04 21:27
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
以下是引用fyz520在2010-4-4 20:47:51的发言:

谢谢哦,可是我把程序改了之后是错的,比如
protected void Button1_Click(object sender, EventArgs e)
    {
        int count = lbxSource.Items.Count;
        for(int i=0;i


ListItem到底怎么是什么类型哦?lbxsour.items[index]获取的是列表的标题吗?
lbxSource.Items.Remove(ltem);能改成lbxSource.Items.Remove(索引号);吗?还是一定要ListItem类型的变量作参数,谢了
2010-04-04 21:57
saitor
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:5
帖 子:373
专家分:1520
注 册:2009-5-18
收藏
得分:0 
lbxSource.Items.Remove(ltem);这段去掉,或者你另用个循环去移除lbxSource.Items.Remove(ltem);用么你这么写;
int count = lbxSource.Items.Count;
       while(count>0){
            ListItem ltem=lbxSource.Items[count-1];
            
            lbxSource.Items.Remove(ltem);
            lbxDest.Items.Add(ltem);
            count=lbxSource.Items.Count;
       }
2010-04-04 22:03
fyz520
Rank: 1
等 级:新手上路
帖 子:120
专家分:1
注 册:2010-1-27
收藏
得分:0 
谢谢

string text=DropDownList1.selecteditem;//这个可以获取选项的标题吗?书上说可以哦,可是我试了一下出错

错误提示是:

无法将类型“System.Web.UI.WebControls.ListItem”隐式转换为“string”可以加你QQ吗
2010-04-04 22:22
快速回复:把源列表框里的选项全部移到目的列表框里的算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017179 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved