listbox的一些使用技巧

一、数据绑定

    listbox的数据绑定和 dropdownlist 的一样,都要用到dataset。最后应该是:

 

lbox_RWDBH.DataSource = myDs.Tables["table0"].DefaultView;
lbox_RWDBH.DataTextField 
= "RWDBH";
lbox_RWDBH.DataValueField 
= "RWDBH";
lbox_RWDBH.DataBind();

 

        

二、两个listbox的联动(点击一边的条目,该条目移向另一边)

    为动作为单击事件,首先要设置listbox控件的自动响应(AutoPostBack="true")

 

代码
 1     /// <summary>
 2     /// 向右边的一个listbox添加
 3     /// </summary>
 4     /// <param name="sender"></param>
 5     /// <param name="e"></param>
 6     protected void itemAdd(object sender,EventArgs e)
 7     {
 8         // 对样品单的数量加以限制
 9         if (lbox_RWD_Sel.Items.Count < 10)
10         {
11             ListItem lItem = new ListItem();
12             lItem = lbox_RWDBH.SelectedItem;
13             lItem.Selected = false;  // 取消对该条目的选定
14 
15             lbox_RWD_Sel.Items.Add(lItem);
16             lbox_RWDBH.Items.Remove(lItem);
17 
18             // 排序
19             ListBoxSort(lbox_RWD_Sel);
20         }
21         else 
22         {
23             ClientScript.RegisterStartupScript(GetType(),"msg","<script>alert('您最多只能选择10个样品单!');</script>");
24         }
25     }
26 
27     /// <summary>
28     /// 删掉一项
29     /// </summary>
30     /// <param name="sender"></param>
31     /// <param name="e"></param>
32     protected void itemDel(object sender,EventArgs e)
33     {
34         ListItem listem = new ListItem();
35         listem = lbox_RWD_Sel.SelectedItem;
36         listem.Selected = false;
37 
38         lbox_RWDBH.Items.Add(listem);
39         lbox_RWD_Sel.Items.Remove(listem);
40 
41         // 排序
42         ListBoxSort(lbox_RWDBH);
43     }

 

 

三、对listbox 中的条目进行排序

    listbox的条目、经过添加、删除之后,新增加的项目,默认是加到最后。所以,我们需要对listbox 中的条目进行重新排序:

 

代码
 1     /// <summary>
 2     /// 为listbox中的项进行排序
 3     /// </summary>
 4     /// <param name="lbox"></param>
 5     protected void ListBoxSort(ListBox lbox)
 6     {
 7         SortedList sList = new SortedList();
 8         for (int i = 0; lbox.Items.Count > i;i++ )
 9         {
10             sList.Add(lbox.Items[i].Text,lbox.Items[i].Value); //将listbox内容逐项复制到sortedlist对象中
11         }
12 
13         lbox.Items.Clear(); // 清空原listbox
14 
15         foreach(DictionaryEntry obj in sList)
16         {
17             ListItem myit = new ListItem();
18             myit.Text = obj.Key.ToString();
19             myit.Value = obj.Value.ToString();
20             lbox.Items.Add(myit);
21         }
22     }

 

 

posted on 2010-08-15 11:43  跋涉ing的小马哥  阅读(339)  评论(0)    收藏  举报

导航