PDA

View Full Version : تیک خوردن چک باکس ها از داخل دیتابیس



forestasphalt
چهارشنبه 04 بهمن 1391, 08:51 صبح
سلام
من یک جدول دارم با 2 تا فیلد id,content میخوام موقعی که content=true بود در چک باکس تیک انتخاب شده خورده شود(selected=true) شود (همون سطر تیک چک باکس ها که داخل ریپیتر هست خورده شود)

sh-eng
چهارشنبه 04 بهمن 1391, 10:11 صبح
سلام من یه کد استفاده کردم که جواب داد 10 تا چک باکس داشتم تو صفحه می خواستم هرکدوم تو جدولم هست تیک بخوره این کد رو استفاده کردم:
while (dr.Read())
{

for (int j = 0; j < 10; j++)
{
if (dr[1].ToString() == CheckBoxList1.Items[j].Value.ToString())
{
CheckBoxList1.Items[j].Selected = true;
}
}


}

forestasphalt
چهارشنبه 04 بهمن 1391, 11:37 صبح
با سلام من مشکلمو با کد زیر حل کردم کد ور میذارم امیدورام به درد کسی بخوره

در ابتدا ریپیتر رو باند کردم اطلاعات از دیتابیس خوندم در دیتا تیبل ریختم شرطم اینه که هنگامی که فیلد lastminute =true بود اطلاعات از جدول بخونم کنترل چک باکس و آیدی که(هر بار یکی اضافه میشه ) رو با find control پیدا کردم بعد محتویات اون خونه ای (آیدی اون سطرو)که مقدارش برار true بود با آیدی ریپیتر مقایسه کردم که اگه درست بود (دقیقا بره چک باکس همون سطر رو تیک بزنه)


Repeater1.DataBind();

ConnectionStringSettings strconnection = ConfigurationManager.ConnectionStrings["kohanConnectionString"];
SqlConnection con = new SqlConnection(strconnection.ConnectionString);
;
con.Open();
string sql2 = "select * from products where lastminute='true' ";
SqlDataAdapter da = new SqlDataAdapter(sql2, con);
DataTable dt = new DataTable();
da.Fill(dt);
int count = 0;
// last minute
foreach (RepeaterItem i in Repeater1.Items)
{
if (count < dt.Rows.Count)
{
CheckBox cb = (CheckBox)i.FindControl("CheckBox1");
Label lbl = (Label)i.FindControl("Label1");
string ids = lbl.Text.ToString();

string drnum = dt.Rows[count]["id"].ToString();
if (drnum == ids)
{
cb.Checked = true;
count++;
}

}

}