PDA

View Full Version : مبتدی: کمک در رفع خطا برای کد نوشته شده برای checkbox



zzhkfa
جمعه 18 اسفند 1396, 09:21 صبح
دوستان عزیز، مشکل این فور که نوشتم چیه؟
بصورت تکی درست ثبت می کنه، ولی وقتی چند نفر را تیک می زنم به تعداد نفرات تیک خورده، فقط آی دی نفر آخر رو که انتخاب شده می فرسته


for (int item = 0; item < checkeListuser.Items.Count; item++)
{
if (checkeListuser.GetItemCheckState(item) == CheckState.Checked)
{
DataBase db = new DataBase();
db.DoCommand("insert into Tbl_groups(groupname,userid,desk) values('" + txt_group.Text + "'," + checkeListuser.SelectedValue + ",'" + txt_desc.Text + "')");
}
}
MessageBox.Show("ok");

147769
لینک دانلود پروژه:
http://s9.picofile.com/file/8321278842/vbncvb.zip.html

Mahmoud.Afrad
جمعه 18 اسفند 1396, 12:31 عصر
به جای checkeListuser.SelectedValue از checkeListuser.Items[item] استفاده کنید.

zzhkfa
جمعه 18 اسفند 1396, 15:13 عصر
من می خوام value که userid من هست رو بفرستم به دیتابیس، با اینکاری که شما گفتی عدد 0 میفرسته که شماره ایندکس آیتم لیست باکس است.
لیست باکس من به شکل زیر پر میشه:

System.Data.DataTable dt2 = new System.Data.DataTable();
DataBase db2 = new DataBase();
dt2 = db2.MySelect("select userid,flname from tbl_users");
checkeListuser.DataSource = dt2;
checkeListuser.DisplayMember = "flname";
checkeListuser.ValueMember = "userid";


من می خوام هنگام اجرای حلقه ، userid شخصی که انتخاب کردم به دیتابیس ارسال بشه

محمد رضا فاتحی
جمعه 18 اسفند 1396, 16:26 عصر
سلام
این کد رو تست کنید

List<string> selectedValues = CBLGold.Items.Cast<ListItem>()
.Where(li => li.Selected)
.Select(li => li.Value)
.ToList();

zzhkfa
جمعه 18 اسفند 1396, 16:41 عصر
نه متاسفانه، میشه روی نمونه کد ارسالی خودم توضیح بدید و یا اصلاح بفرمائید؟ ممنون

Mahmoud.Afrad
شنبه 19 اسفند 1396, 10:27 صبح
foreach (var selectedItem in checkedListBox1.CheckedItems)
{
DataRowView row = selectedItem as DataRowView;
if (row != null)
{
int id = Convert.ToInt32(row["userId"]);
//...
}
}

zzhkfa
شنبه 19 اسفند 1396, 16:17 عصر
خیلی ممنون ، درست شد تشکر ویژه