PDA

View Full Version : سوال: check box در datagridview



jd.mn98
پنج شنبه 10 مرداد 1392, 11:58 صبح
سلام دوستان

من یه سوال دارم هر چه جستجو کردم به نتیجه نرسیدم مجبور شدم تاپیک بزنم

چجوری میشه در دیتا گرید ویو اگر ستونی از نوع bit داریم چک باکس داخل اون ستون رو طوری تنظیم کنیم که بشه تیک زد و یا تیک رو برداشت؟؟

sohil_ww
پنج شنبه 10 مرداد 1392, 12:04 عصر
سلام دوست عزیز روش جسجوتون زیاد خوب نبوده چون می تونم بگم این سئوال بسیار پاسخ داده شده :افسرده:


108284

:چشمک: :چشمک: :چشمک: :چشمک:

jd.mn98
پنج شنبه 10 مرداد 1392, 12:20 عصر
سلام دوست عزیز
در برنامه ای که من دارم یک ستون که دارای چک باکسه وجود داره و من می خوام که زمانی که برنامه اجرا میشه بتونم در اون چک باکس ها تیک بزنم یا تیک رو بردارم
این هم عکسش

108285

jd.mn98
پنج شنبه 10 مرداد 1392, 13:00 عصر
چی شد کسی جوابی نداره من واقعا نیاز دارم

sohil_ww
پنج شنبه 10 مرداد 1392, 13:44 عصر
خاصیت edit گریدتو فعال کن ! نا بتونی ویرایش کنی

jd.mn98
پنج شنبه 10 مرداد 1392, 13:56 عصر
اگر منظورتون همون editmode در پنجره ی خاصیت هاست ؛ اون رو هم تغییر دادم بازم نشد

Ghaem66
پنج شنبه 10 مرداد 1392, 14:44 عصر
مطمئنید که خاصیت readonly گریدتون true نیست؟

llMMDll
پنج شنبه 10 مرداد 1392, 15:11 عصر
اگر ستون checkbox رو مستقیم از پایگاه داده می گیرید و خاصیت Enable Editing رو فعال کرده باشید نباید مشکلی داشته باشید (در غیر این صورت یکبار دیگه این کار رو انجام بدید)
ولی اگر نه ستون checkbox رو خودتون اضافه کردید می بایست دقت کنید که خاصیت datapropertyname ان روی none باشد.
اگر اشتباه می کنم دوستان تصحیح کنند

jd.mn98
پنج شنبه 10 مرداد 1392, 16:04 عصر
خاصیت readonly رو هم false کردم باز هم نشد
2- منظور شما از Enable Editing چیه همون editmode هست یا نه در ضمن من جدول رو با کد نویسی از sql می گیرم

llMMDll
پنج شنبه 10 مرداد 1392, 16:12 عصر
عکس زیر گویاست
108302

veniz2008
پنج شنبه 10 مرداد 1392, 17:10 عصر
اگر ستون checkbox رو مستقیم از پایگاه داده می گیرید و خاصیت Enable Editing رو فعال کرده باشید نباید مشکلی داشته باشید (در غیر این صورت یکبار دیگه این کار رو انجام بدید)
ولی اگر نه ستون checkbox رو خودتون اضافه کردید می بایست دقت کنید که خاصیت datapropertyname ان روی none باشد.
اگر اشتباه می کنم دوستان تصحیح کنند
سلام.
وقتی کوئری sql میزنیم و خودمون بصورت دستی ستون اضافه میکنیم باید خاصیت DataPropertyName رو بر روی نام فیلد جدول sql تنظیم کنیم.

خاصیت readonly رو هم false کردم باز هم نشد
2- منظور شما از Enable Editing چیه همون editmode هست یا نه در ضمن من جدول رو با کد نویسی از sql می گیرم
همونطور که دوستمون هم گفتن خاصیت Enable Editing رو هم تیک بزنید تا اجازه ویرایش ستون ها رو داشته باشید.
موفق باشید.

jd.mn98
جمعه 11 مرداد 1392, 12:13 عصر
دوستان خیلی ممنون مشکل حل شد:تشویق:
ولی عجیبه :متعجب:من دیروز خاصیت readonly رو بر روی false گذاشتم ولی جواب نداد اما امروز اونو دوباره روی false گذاشتم مشکل حل شد و در ضمن وقتی که readonly رو false می کردم enable editing تیک می خورد و وقتی readonly رو true می کردم enable editing تیکش برداشته می شد.:متعجب::متعجب:

veniz2008
جمعه 11 مرداد 1392, 12:43 عصر
وقتی که readonly رو false می کردم enable editing تیک می خورد و وقتی readonly رو true می کردم enable editing تیکش برداشته می شد.:متعجب::متعجب:
طبیعی هست که چنین اتفاقی بیفته. وقتی readonly رو true کنی یعنی شخص فقط میتونه بخونه ولی اجازه تغییرات نداره. واسه همینه که خود ویژوال خودکار تیکش رو برمیداره. نمیشه هم readonly باشه هم بشه تغییرش داد (تضاد ایجاد میشه).
موفق باشید.

rayson
جمعه 11 مرداد 1392, 13:54 عصر
سلام دوستان.
این امکان وجود دارد که من در ستون که چک باکس هست در قسمت Header ان یک چک باکس دیگر قرار بدم که اگر فعال شد تمام چک باکس زیر آن که موجود هستند فعال شوند ؟
مثلا در شکل زیر در کنار نوشته Farsi دقیقا بالا بقیه چک باکس ها یک چک باکس دیگر با امکاناتی که گفتم داشته باشد ؟
ممنون میشم راهنمایی کنید.

http://barnamenevis.org/attachment.php?attachmentid=108285&d=1375346866
با تشکر.

khokhan
جمعه 11 مرداد 1392, 14:15 عصر
سلام دوستان.
این امکان وجود دارد که من در ستون که چک باکس هست در قسمت Header ان یک چک باکس دیگر قرار بدم که اگر فعال شد تمام چک باکس زیر آن که موجود هستند فعال شوند ؟
مثلا در شکل زیر در کنار نوشته Farsi دقیقا بالا بقیه چک باکس ها یک چک باکس دیگر با امکاناتی که گفتم داشته باشد ؟
ممنون میشم راهنمایی کنید.

http://barnamenevis.org/attachment.php?attachmentid=108285&d=1375346866
با تشکر.
...........................................:لبخ ند:

rayson
جمعه 11 مرداد 1392, 14:39 عصر
ممنون خوخان جان .
یک سوال دیگه دارم اونم اینه که :
جستجو درون دیتا گرید از طریق کومبو باکس هم امکانش هست ؟
این روش مناسب است ؟

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 *from employ where family like N'%" + combobox1.text + "%'", con);
SqlCommand com = new SqlCommand();
con.Open();
com.Connection = con;
da.Fill(dt);
dgv_code_ozviat.DataSource = dt;

sohil_ww
جمعه 11 مرداد 1392, 14:45 عصر
اره دوست عزیز امکانش هست

کد بالای شما هم درست ولی به نظر من بهتر از 1 dataview برای جستجو استفاده کنی که ترافیک بانکت بیاد پایین

آقای خوخان واقعا افتخار می کنم به این که می تونم تو این تالار پست ها تون بخونم ، سپاسگذارم از راهنمایی های که به همه بجه ها می کنید

khokhan
جمعه 11 مرداد 1392, 14:46 عصر
ممنون خوخان جان .
یک سوال دیگه دارم اونم اینه که :
جستجو درون دیتا گرید از طریق کومبو باکس هم امکانش هست ؟
این روش مناسب است ؟

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 *from employ where family like N'%" + combobox1.text + "%'", con);
SqlCommand com = new SqlCommand();
con.Open();
com.Connection = con;
da.Fill(dt);
dgv_code_ozviat.DataSource = dt;
مگه جواب نمی ده ؟

rayson
جمعه 11 مرداد 1392, 14:55 عصر
بله جواب میده ولی:
داده ها درون کمبو باکس را من از دیتا بیس فراخوانی میکنم و از این رو ممکنه 10 بار مدرک تحصیلی کامپیوتر را درون این کمبو باکس مشاهده کنم .
دلیل فراخوانی من از کمبو باکس این است که معلوم نیست چه مدارکی قرار است ثبت شود.

sohil_ww
جمعه 11 مرداد 1392, 15:12 عصر
منم منظورم همین بود که از کمبوباکس می تونی سرچ برنی ولی من منظورم این بود که اول اطلاعات بریز تو یک دیتا ویو و از دیتا ویت سرچ بزن خواستی بگو 1 نمونه بزارم برات داداشه گلم
فقط الان از سایت خارج میشم اگه نمونه می خوای به Skype پیام بده

:لبخندساده:

rayson
جمعه 11 مرداد 1392, 15:20 عصر
منم منظورم همین بود که از کمبوباکس می تونی سرچ برنی ولی من منظورم این بود که اول اطلاعات بریز تو یک دیتا ویو و از دیتا ویت سرچ بزن خواستی بگو 1 نمونه بزارم برات داداشه گلم
فقط الان از سایت خارج میشم اگه نمونه می خوای به Skype پیام بده

:لبخندساده:
ممنون میشم اگر قرار بدید با تشکر .

jd.mn98
جمعه 11 مرداد 1392, 17:02 عصر
دوستان یه سوال دیگه
اگر من readonly رو false کنم کلا میشه اطلاعات دیتا گرید ویو رو ویرایش کرد من می خوام که فقط همون ستون Farsi قابل ویرایش باشه ، ستون های دیگه قابل ویرایش نباشه چجوری میشه؟؟؟:لبخند:
http://barnamenevis.org/attachment.php?attachmentid=108285&d=1375346866

sohil_ww
جمعه 11 مرداد 1392, 17:09 عصر
ممنون میشم اگر قرار بدید با تشکر .

امیدوارم گویا باشه

Download (http://uplod.ir/ts6cooiu5tp1/like_int.zip.htm)

rayson
جمعه 11 مرداد 1392, 17:35 عصر
امیدوارم گویا باشه

Download (http://uplod.ir/ts6cooiu5tp1/like_int.zip.htm)

برنامه خطا میده کد زیر را خطا میده :
dataGridView1.SelectionMode = SelectionMode.One;

llMMDll
شنبه 12 مرداد 1392, 01:26 صبح
دوستان یه سوال دیگه
اگر من readonly رو false کنم کلا میشه اطلاعات دیتا گرید ویو رو ویرایش کرد من می خوام که فقط همون ستون Farsi قابل ویرایش باشه ، ستون های دیگه قابل ویرایش نباشه چجوری میشه؟؟؟:لبخند:

خوب فقط خاصیت readonly همون ستون را false کن (یا بقیه رو true کن)
1.EditColumns
2.با کد هم میشه index آن ستون رو بده

khokhan
شنبه 12 مرداد 1392, 14:25 عصر
بله جواب میده ولی:
داده ها درون کمبو باکس را من از دیتا بیس فراخوانی میکنم و از این رو ممکنه 10 بار مدرک تحصیلی کامپیوتر را درون این کمبو باکس مشاهده کنم .
دلیل فراخوانی من از کمبو باکس این است که معلوم نیست چه مدارکی قرار است ثبت شود.
اینطور که من متوجه قضیه شدم وقتی شما یه ستون از جدول رو می ریزین توی کمبو باکس اطلاعات اگه مشابه باشندبصورت تکراری توی کمبو باکس وارد می شن
اکه این فرض درست باشه بایستی کوری رو با DISTINCT اجرا کنین تا اطلاعات تکراری فیلتر بشوند
اینطوری


SqlDataAdapter da = new SqlDataAdapter("select DISTINCT * from employ ", con);

rayson
شنبه 12 مرداد 1392, 15:20 عصر
سلام .
من به روشی که گفتید جلو رفتم ولی باز هم تمام داده ها را درون کمبو نشان میدهد.
private void show_mojaz()
{
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 DISTINCT *from madrak_tahsili ", con);
SqlCommand com = new SqlCommand();
con.Open();
com.Connection = con;
da.Fill(dt);
mojaz_search_cmb_madrak_tahsili.DataSource = dt;
mojaz_search_cmb_madrak_tahsili.DisplayMember = "name_madrak";
con.Close();
}
من برای ریختن این اطلاعات درون کمبو یک تابع تعریف(show_mojaz) کردم و تابع را در فرم برنامه و دکمه ثبت اطلاعات صدا میزنم . کد بالا منظورم است.
مشکل از چیست ؟
با تشکر

rayson
شنبه 12 مرداد 1392, 15:30 عصر
مشکل پیدا شد.
تو خظ صدا زدن ز دیتا بیس باید اسم فیلد که باید فیلتر میشد هم ذکر میکردم.
SqlDataAdapter da = new SqlDataAdapter("select DISTINCT name_madrak from madrak_tahsili ", con);