iT邦幫忙

0

C# 如何勾選動態產生的checkbox

載入頁面時,先動態產生數個checkbox在ID=AreaListPanel的Panel控制項

                foreach (AreaVo vo in AreaList)
                {
                        CheckBox cbx = new CheckBox();
                        cbx.Text = vo.Text;
                        cbx.ID = "checkbox_" + vo.Value;
                        cbx.AutoPostBack = true;

                        AreaListPanel.Controls.Add(cbx);
                }

接著DB撈出應勾選的value值並勾選上方產生的checkbox,請問該怎麼做
感激不盡

======
不好意思 補充一下
應該說能否做到像jquery一樣 $('#checkbox_' + 變數).XXXX
可用ID串接的方式取得特定控制項

2 個回答

2
japhenchen
iT邦大師 1 級 ‧ 2021-03-10 11:55:46
最佳解答
var cbs = this.Controls.Find("checkboxPaid", true);
if (cbs.Any() && cbs.First() is CheckBox)
    ((CheckBox)cbs.First()).Checked = true;

以上假設你的

CheckBox cb = new CheckBox();
cb.Name = "checkboxPaid";
cb.Parent = this; // 當前FORM

感謝大大,已解決!!

0
rogeryao
iT邦大師 3 級 ‧ 2021-03-10 15:50:41

請參閱 : Create Dynamic CheckBox from Database in Windows Application using C# and VB.Net

在 chk.Text = row["FruitName"].ToString(); 之下加入以下程式碼試試 .

if (row["Field_A"].ToString() == "1")
    chk.Checked = true;
else
    chk.Checked = false;

chk.ID = row["Field_B"].ToString();

感謝大大幫忙!

我要發表回答

立即登入回答