台灣最大程式設計社群網站
線上人數
2482
 
會員總數:246497
討論主題:190005
歡迎您免費加入會員
討論區列表 >> ASP.NET >> CheckBoxList的預選Selected問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
CheckBoxList的預選Selected問題
價值 : 20 QP  點閱數:4427 回應數:5
樓主

KEROKERO
初學者
17 63
744 75
發送站內信

資料表testtbl

thisValue, thisText, flag
85, 排骨飯, 0
90, 雞腿飯, 1
75, 招牌飯, 1
80, 叉燒飯, 0

select thisValue,thisText,flag from testtbl
當flag是1時,CheckBoxList需要預先Selected,請教有方法可以使用SelectCommand裡的flag值來預設CheckBoxList的Selected嗎?謝謝各位協助!

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="thisText" DataValueField="thisValue" OnDataBound="CheckBoxList1_DataBound"></asp:CheckBoxList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ connectionStrings:TESTConnectionString %>" SelectCommand="select thisValue,thisText,flag from testtbl" ></asp:SqlDataSource>

protected Sub CheckBoxList1_DataBound(ByVal sender As Object, ByVal e As EventArgs)
For Each item As ListItem In CheckBoxList1.Items
'If item.Value = "雞腿飯" Then
' item.Selected = True
'End If
Next
End Sub

本篇文章發表於2012-08-13 17:31
1樓
回應

MIS2000 Lab
檢舉此回應
你好像只會用精靈(SqlDataSource)而已

清單控制項(包含單複選的那幾個),都只有兩個屬性
DataTextField="thisText"
DataValueField="thisValue"

您已經都用光了,如何搭配第三個欄位(flag)呢?


你遇見了精靈的「瓶頸」(雖然你覺得很雖,但我要恭喜你!)

該是大破大立的時候了

把精靈(SqlDataSource)放下,
學會自己寫ADO.NET程式處理這些事情

您正要拖殼而出,
從一個只會拖拉點放的「工具使用者」,慢慢轉型為自己寫程式的人
(所以我想恭喜你)

本篇文章回覆於2012-08-13 17:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

小羊窒息
捐贈 VP 給 缺氧的羊:窒息 檢舉此回應
我的做法是,先Cerate CheckBoxList選單,
然後再另外把值拿來比對內容,最後再一一勾選...


以下是n年前寫的函數,沒改過,一直延用到現在(有很大的改進空間,你有興趣的話可以拿去改)

使用說明:

CheckBoxList建立之後會有4個項目,分別是
排骨飯:85
雞腿飯:90
招牌飯:75
叉燒飯:80

建立完之後,呼叫函數來幫忙勾選
SelectCheckBoxList_byValue(你的CheckBoxList, "75,90")
SelectCheckBoxList_byValue(你的CheckBoxList, "75,90,")


至於75,90怎麼來,就是你建立CheckBoxList之後,得去 【select thisValue form testtbl where flag = 1】
藉此取得75跟90


本篇文章回覆於2012-08-13 17:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

MIS2000 Lab
檢舉此回應
不好意思,我要下班了,來不及解說。
明天再來補。

我的方法是寫在 Page_Load事件內

大致的寫法如下(兩張圖片)


http://Files.Dotblogs.com.tw/mis2000lab/1208/2012813182433297.jpg



http://Files.Dotblogs.com.tw/mis2000lab/1208/2012813182540671.jpg

我怕點部落,不讓圖片外連,所以留下網址
本篇文章回覆於2012-08-13 18:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

MIS2000 Lab
檢舉此回應
果然圖片被擋住了。

請參閱這篇文章:
[習題]CheckBoxList + DB。資料表的第三個欄位當成子選項的「預設被選取(.Selected)」
http://www.dotblogs.com.tw/mis2000lab/archive/2012/08/13/checkboxlist_db_selected.aspx

希望對您有幫助。
本篇文章回覆於2012-08-13 18:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

Allen
捐贈 VP 給 Allen 檢舉此回應
我也寫了一篇, 供您參考
http://www.allenkuo.com/GenericArticle/view1357.aspx
本篇文章回覆於2012-08-14 08:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.