PDA

View Full Version : سوال: نمایش درون CheckedListBox و کار با آن.



rayson
چهارشنبه 23 مرداد 1392, 16:46 عصر
با سلام.
خسته نباشید.
من میخوام اطلاعات جدول خود را درون CheckedListBox نمایش دهم.
حال اگرمثلا 3 تا از تیک های درون این لیست انتخاب شدوثبت زده شد برنامه علاوه بر این 3 تیک اطلاعات یک کمبو باکس هم ذخیره کنه درون دیتا بیس .
مثلا از کمبو باکس علی انتخاب شده و 3 چک باکس ( حسینی ، موسوی و محمدی) باشد: برنامه برای هر 3 علی ثبت کند با این تفاوت که خانه علی جدا ثبت شود و خانه ( فامیل) هم جدا.( گفته های من فقط یک مثال هسنتد).
مانند شکل:
109071
با تشکر.

gilas1368
چهارشنبه 23 مرداد 1392, 17:09 عصر
لیستتون رو پیمایش کنین و اونایی رو ک تیک خورده Textاش رو بریزید توی دیتابیس

gilas1368
چهارشنبه 23 مرداد 1392, 17:36 عصر
میشه بیشتر توضیح بدید
من متوجه نمیشم اصن

rayson
چهارشنبه 23 مرداد 1392, 21:11 عصر
من میخوام اطلاعات درون جدول داخل دیتا بیس در CheckedListBox نمایش بدهم چطوری باید انکار را انجام بدم ؟

rayson
جمعه 25 مرداد 1392, 03:20 صبح
سلام.
من گشتم مطالبی پیدا کردم دستوراتی به کار بردند و من نمی توانم از آنها استفاده کنم اصلا وجود ندارند .
به لینک زیر برید متوجه میشید من منظورم چه چیزی است : مثلا دستور Datasource گفته استفاده کنید برای ریختن اطلاعات در چک لیست باکس ولی من اصلا چنین دستوری را نمیتوانم وارد کنم.
http://qsoftechnologies.com/how-to-populate-access-and-check-items-in-checkedlistbox-control-in-c/
با تشکر.

rayson
جمعه 25 مرداد 1392, 15:20 عصر
سلام دوستان .
من خودم تابع نوشتم که اطلاعات را از دیتا بیس میگیره و در checkedlistBox نمایش میدهد ، فقط یک مشکل دارد آن هم این است که فقط چک باکس را نشان میدهد اسم داده را نشان نمیدهد عکس پایین !
109181


کد من هم به این صورت است :
private void info_chklb_group() {
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\data computer.org\Documents\Visual Studio 2010\Projects\SNM\SNM\sm.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("select group_name,id_group from groups ", con);
SqlCommand com = new SqlCommand();
com.Connection = con;

DataSet ds = new DataSet();
da.Fill(ds);

foreach (DataRow dr in ds.Tables[0].Rows)
{
ListBox item = new ListBox();
item.SelectedItems.ToString();

checkedListBox1.Items.Add(item);
}

}

rayson
جمعه 25 مرداد 1392, 16:13 عصر
سلام ، کد تغییر دادم و یک تابع جدید نوشتم اوکی شد ، برای دوستان قرار میدم اگر خواستن استفاده کنند.
موفق باشید.
private void info_chklb_group() {
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\data computer.org\Documents\Visual Studio 2010\Projects\SNM\SNM\sm.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");

SqlCommand com = new SqlCommand("select group_name,id_group from groups ");
con.Open();
com.Connection = con;
SqlDataReader reader = com.ExecuteReader();

while (reader.Read())
{

checkedListBox1.Items.Add(reader["group_name"].ToString());

}

reader.Close();

con.Close();

}

rayson
جمعه 25 مرداد 1392, 23:34 عصر
سلام دوستان.
کد بالا اوکی هیچ مشکل ندارد و اطلاعات را به خوبی از دیتا بیس میگیرد و در CheckedListBox میریزد اما :
به دلیل اینکه فرم ثبت اطلاعات و فرم نمایش جدا از هم هستند اطلاعات پس از ثبت درون لیست نمایش داده نمیشود و برنامه باید دوباره ران شود. با دستورات مثل Form_load(null,null) ویا فراخوانی تابع در خاصیت CliCK دکمه نمایش صفحه ثبت اطلاعات ، اطلاعات نمایش داده میشود ولی اطلاعات قبلی که درون لیست هستند پاک نمیشوند( مثلا درون چک لیست باکس 1 و 2 و3 هست و وقتی 4 را وارد میکنم به این صورت میشود: 1و2و3و1و2و3و4 ) چطوری میشود یک چک لیست باکس را خالی کرد کد نمایش من پست بالایی است اگر میشود راهنمایی کنید .
با تشکر.

ویرایش پست:
پیدا کردم : ( در خاصیت کلیک دکمه قرار دادم )
checkedListBox1.Items.Clear();