[英]Pre-select checkBox from database fields in asp.net using c#
我有一个要从数据库表中预先选择的组支票簿列表。 我正在使用以下代码来选择它,但它不起作用
表中的数据以以下格式示例存储:-
1,2,
1,5,7,
1,2,3,4,
的HTML
<asp:checkboxlist id="chkBoxDaysList" runat="server">
<asp:listitem runat="server" value="1" Text="Sunday" />
<asp:listitem runat="server" value="2" Text="Monday" />
<asp:listitem runat="server" value="3" Text="Tuesday" />
<asp:listitem runat="server" value="4" Text="Wednesday" />
<asp:listitem runat="server" value="5" Text="Thrusday" />
<asp:listitem runat="server" value="6" Text="Friday" />
<asp:listitem runat="server" value="7" Text="Saturday" />
</asp:checkboxlist>
C#代码可根据之前保存的数据预选复选框
public void getSelectedDays(){IDataReader dr;
String strSqlDays = "SELECT * FROM EventCalender WHERE rowID = 6";
DataSet ds = new DataSet();
ds = DataProvider.Connect_Select(strSqlDays);
dr = ds.Tables[0].CreateDataReader();
string[] s = new string[50];
while (dr.Read())
{
s = dr["EventDays"].ToString().Split(',');
}
int length = s.Length;
for (int i = 0; i <= s.Length - 1; i++)
{
string cntry = s[i];
for (int j = 0; j <= chkBoxDaysList.Items.Count - 1; j++)
{
if (chkBoxDaysList.Items[j].Text == s[i])
{
chkBoxDaysList.Items[j].Selected = true;
break;
}
}
}
}
现在,代码不会产生任何错误,但是也不会选中任何复选框
您正在使用数据库中的值检查复选框的文本。 请使用数据库记录中的值检查复选框列表的值。更正的代码如下所示->
if (chkBoxDaysList.Items[j].Value == s[i])
{
chkBoxDaysList.Items[j].Selected = true;
break;
}
protected void Button2_Click(object sender, EventArgs e)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand("select * from empreg where empid=@empid", con);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@empid", txtid.Text);
SqlDataAdapter adpt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adpt.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
IDataReader dr = ds.Tables[0].CreateDataReader();
txtfname.Text = ds.Tables[0].Rows[0][1].ToString();
txtlname.Text = ds.Tables[0].Rows[0][2].ToString();
RadioButtonList1.SelectedValue = ds.Tables[0].Rows[0][3].ToString();
txtdob.Text = ds.Tables[0].Rows[0][4].ToString();
txtdoj.Text = ds.Tables[0].Rows[0][5].ToString();
txtsal.Text = ds.Tables[0].Rows[0][6].ToString();
txtadd.Text = ds.Tables[0].Rows[0][7].ToString();
DropDownList1.SelectedItem.Text = ds.Tables[0].Rows[0][8].ToString();
//checkbox1
string[] b = new string[50];
while (dr.Read())
{
b = dr["Dept"].ToString().Split(',');
}
for (int i = 0; i <= b.Length - 1; i++)
{
foreach (ListItem item in this.CheckBoxList1.Items)
if (item.Value == b[i])
{
item.Selected = true;
i++;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.