本文是備份,原作請看我的網站:[習題]動態新增 DropDownList或 ListBox底下的新項目(Item)#2 [左右搬移]

http://www.dotblogs.com.tw/mis2000lab/archive/2008/12/01/listbox.item_add_remove.aspx

 

 

 

 

這個問題也是在 Yahoo知識+ 上看見的

其實我已經發表過一篇文章,相同的用法就能解。[習題]動態新增 DropDownList或 ListBox底下的新項目(Item)?

 

搭配上一篇文章使用的 For迴圈

對付 CheckBox / RaddioButton / ListBox / DropDownList真的很簡單。

相同的程式修修改改,又解了一個問題。

 

只要一個好範例、一段好用的程式,變化就能很多。

Web控制項裡面, ChecBox / RaddioButton / ListBox / DropDownList這幾個東西都很類似,用法也都差不多。

廣告一下!請看本書第三章,將近一百頁的說明。隨手COPY一個範例就能解這問題!

===================================================================

原本的發問者,想做出這樣的效果:

 

例外狀況,如果你不點選任何一個子選項,就按下按鈕。

那麼會出現警告訊息!(如下圖)

 

執行成功的畫面如下:

 

但是這一支程式,還有一個小缺點。

各位可以看見上圖,搬移之後,「左三」這個子選項還留在原本的地方。   本文最後會再解釋一下。

=======================================================================

 

HTML設計畫面:

      很簡單,左右各一個 ListBox控制項、Button。

      我在底下加上 Label來出現警告訊息、或是成功訊息。

 

後置程式碼:

      我的網站不是給初學者、學生抄襲用的,也不是發問後等著COPY程式碼。   

      所以只展示一小部份。

01     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
02         '== 右移 ==
03         Dim a As Integer = 0
04
05         For i As Integer = 0 To (ListBox1.Items.Count - 1)
06             If ListBox1.Items(i).Selected Then
07                 ListBox2.Items.Add(ListBox1.Items(i).Text)
08                 a = a + 1
09             End If
10         Next
11
12         If a = 0 Then
13             Label1.Text = "<font color=red>警告!您未點選任何一個子選項</font>"
14         Else
15             Label1.Text = "<font color=blue>移動成功</font>"
16         End If
17
18     End Sub

看見了沒,又是同一段 For迴圈啊~真好用~

上一篇文章介紹的 For迴圈不就是介紹這東西?修修改改又是一個新範例~

 

 

=======================================================================

比較好一點的範例,應該是這樣的執行畫面。

當某一個子選項被搬走之後,原本的位置就應該刪除!

 

這該怎麼寫呢?

      很簡單,上面的程式,已經學會了「新增」一個子選項,寫成這樣    ListBox.Items.Add(ListBox.Items(i).Text)

      那麼把子選項刪除,就是寫成     ListBox.Items.Remove(ListBox.Items(i).Text)
 

 

這個範例也可以改成AJAX版,畫面調一下,就搞定。

 

「咦?AJAX好像很複雜ㄟ,外面的書都寫了厚厚的一本,我學得會嗎?」

放心,本書只要一章就搞定!        學會重點就好了,外面的AJAX書,大都是放了很多範例。

但VS 2005/2008裡面的AJAX,重點只有幾個,能掌握住,就能千變萬化了

 

 

Web控制項裡面, ChecBox / RaddioButton / ListBox / DropDownList這幾個東西都很類似,用法也都差不多。

廣告一下!請看本書第三章,將近一百頁的說明。隨手COPY一個範例就能解這問題!

 

 

 

好久沒有放今日值班正妹了。

今天的值班正妹----隋棠,http://www.miolife.com/miolife/11/n-325311.html

 

 

.....................................................................................................................................................................................
ASP.NET專題實務ASP.NET專題實務(文魁出版 / P8187)

2008/八月份 天瓏書局排行榜前十名

.............................................................................................................. 寄信給我    mis2000lab (at) 雅虎.com.台灣 ........

創作者介紹

MIS2000 Lab -- ASP.NET專題實務 / 線上教學文件

MIS2000 Lab 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • kevin11671
  • 下拉式選單+listbox

    您好 想跟你請教一個問題
    您的書小弟拜讀過了(今年九月天龍買的 哈)
    只是最近小弟碰到一個問題無法解決
    老師出了一份hw 要我們在一個頁面中使用下拉式選單+listbox
    其中下拉是選單要可以控制listbox的選項
    就是在下拉式選單中有listbox的類別
    假設listbox是菜單 下拉式選單是菜色的類別
    當我選前菜的時候 listbox會跑出前菜的項目(莎拉等等..)
    當我選主菜的時候 listbox會跑出主菜的項目(牛排等等..)
    請問能不能只點一下思路 大概要怎麼控制
    謝謝^_^

找更多相關文章與討論