نمایش و عدم نمایش ستون دیتاگرید توسط چک لیست باکس
با چه دستوری میشه تشخیص داد که یک عنصری با شماره ی I که از حلقه ای که توشه میگیره، در check list box علامت خورده یا نه؟
من این دستورات رو برای حالت علامت خورده نوشتم میشه تو حالت دیگه اش کمکم کنید:
private void checkedListBox12_SelectedIndexChanged(object sender, EventArgs e)
{
for (int i = 0; i < checkedListBox12.CheckedItems.Count; i++)
{
dataGridView1.Columns[checkedListBox12.SelectedIndex].Visible = false;
}
}
من هدفم اینه که با علامت زدن نام فیلد در Check list box فیلد اون تو دیتاگرید فعال و غیر فعال بشه.
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
سلام
منظورت یک سطر است یا سلول
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
private void checkedListBox12_SelectedIndexChanged(object sender, EventArgs e)
{
for (int i = 0; i < checkedListBox12.CheckedItems.Count; i++)
{
dataGridView1.Columns[checkedListBox12.SelectedIndex].Visible = false;
dataGridView1.CurrentCell = dataGridView1.CurrentRow.Cells[1];
break;
}
}
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
ستون
تودستورات که نوشتم dataGridView1.Columns
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
اینطوری CheckListBox را مقداردهی کن:
public FrmMain()
{
InitializeComponent();
foreach (DataGridViewColumn col in dataGridView1.Columns)
{
checkedListBox1.Items.Add(col.Name);
checkedListBox1.SetItemCheckState(checkedListBox1. Items.Count - 1, CheckState.Checked);
}
}
به صورت زیر هم نمایش یا عدم نمایش را تنظیم کن(آنهایی که تیک خوردن نمایش داده میشن). در ضمن برای این جور کارها از حلقه استفاده نکن، رویداد ItemCheck برای همین جور کارهاست:
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
dataGridView1.Columns[checkedListBox1.Items[e.Index].ToString()].Visible = Convert.ToBoolean(e.NewValue);
}
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
مثل این که اشتباه شده
من با سلول ها کاری ندارم فقط میخوام ستون ها رو فعال یا غیر فعال کنم
دستوراتی که نوشتم ستون ها رو غیر فعال میکنه ولی من دنبال دستوری هستم تا شماره عنصر علامت نخورده در check list box رو به من برگردونه تا بتونم اون ها رو فعال کنم.
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
خیلی ممنون از پاسختون
همه چی درسته ولی وقتی تیک های جلوی اسم فیلد ها رو توی check list box بر میدارم فیلد ها غیر فعال نمیشن!
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
اگر کد من منظورت هست که کاری به سلول نداشتم. امتحان کن متوجه میشی.
نه داداش دست شما هم درد نکنه فقط به یه مشکل بر خوردم که تو پست بعدی فرستادم.
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
اینطوری CheckListBox را مقداردهی کن:
public FrmMain()
{
InitializeComponent();
foreach (DataGridViewColumn col in dataGridView1.Columns)
{
checkedListBox1.Items.Add(col.Name);
checkedListBox1.SetItemCheckState(checkedListBox1. Items.Count - 1, CheckState.Checked);
}
}
به صورت زیر هم نمایش یا عدم نمایش را تنظیم کن(آنهایی که تیک خوردن نمایش داده میشن). در ضمن برای این جور کارها از حلقه استفاده نکن، رویداد ItemCheck برای همین جور کارهاست:
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
dataGridView1.Columns[checkedListBox1.Items[e.Index].ToString()].Visible = Convert.ToBoolean(e.NewValue);
}
دوست عزیز این دستورات چک لیست باکس رو درست مقدار دهی میکنه ولی رویداد Item Check رو تشخیص نمیده و ستون ها رو با برداشتن تیک جلوی اسمشون غیر فعال نمی کنه.
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
کدو کپی پیست کردی؟
آره قسمت اول که مربوط به مقدار دهی check list box رو تو رویداد یه دکمه گذاشتم که بعد از Fill شدن data grid عمل کنه که خیلی هم خوب عمل کرد
ولی قسمت دوم رو تو برنامه با رویدادش کپی کردم ولی با برداشتن تیک ستون ها غیر فعال نمیشه (به نظرم رویداد رو شناسایی نمیکنه چه طور باید مطمئن بشم؟)
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
اشکال کپی پیست صرف همینه دیگه! کنترل CheckListBox را انتخاب کن بعد برو از پنجره Events رویداد ItemCheck را روی checkedListBox1_ItemCheckتنظیم کن.
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
اشکال کپی پیست صرف همینه دیگه! کنترل CheckListBox را انتخاب کن بعد برو از پنجره Events رویداد CheckItem را روی checkedListBox1_ItemCheckتنظیم کن.
دوست عزیز رویداد check item که توی Event نیست میشه بیشتر توضیح بدید:
http://www.niloblog.com/files/images...gmadaguov8.png
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
اشکال کپی پیست صرف همینه دیگه! کنترل CheckListBox را انتخاب کن بعد برو از پنجره Events رویداد CheckItem را روی checkedListBox1_ItemCheckتنظیم کن.
دوست عزیز این پنجره Events که گفتید توی پنجره Properties هست یا یه پنجره دیگه است؟
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
اشکال کپی پیست صرف همینه دیگه! کنترل CheckListBox را انتخاب کن بعد برو از پنجره Events رویداد CheckItem را روی checkedListBox1_ItemCheckتنظیم کن.
دست شما درد نکنه مشکل بر طرف شد خیلی خیلی از لطفتون ممنونم.
نقل قول: با چه دستوری میشه تشخیص داد که یک عنصر در check list box علامت خورده یا نه
ببخشید ItemCheck. اگر دقت میکردی اسم رویداد توی checkedListBox1_ItemCheck آمده.
همین قسمتی که عکسشو گذاشتی پنجره Events هست.