-
غیر فعال کردن ستون datagridview
درود دوستان
میخوام ستونی از گریدویو رو غیر فعال کنم البته با یه شرط از دستور زیر استفاده کردم جواب نمیده ممنون از راهنماییتون
if (dataGridView3.Rows[e.RowIndex].Cells[4].Value="دارد")
{
dataGridView3.Rows[e.RowIndex].Cells[5].ReadOnly = true;
dataGridView3.Rows[e.RowIndex].Cells[6].ReadOnly = true;
}
-
نقل قول: غیر فعال کردن ستون datagridview
دستوراتی که نوشتی اشاره به سلول های گرید دارد شما میخوای ستونی رو غیر فعال کنی نه یه سلول
dataGridView3.Columns[5].ReadOnly = true;
-
نقل قول: غیر فعال کردن ستون datagridview
نقل قول:
نوشته شده توسط
zagroti
دستوراتی که نوشتی اشاره به سلول های گرید دارد شما میخوای ستونی رو غیر فعال کنی نه یه سلول
dataGridView3.Columns[5].ReadOnly = true;
مهندس با دستور شما هم جواب نداد
-
نقل قول: غیر فعال کردن ستون datagridview
سلام ، کد اقای zagroti جواب می ده الان تست کردم ، جسارتا" شاید شما ستون ها رو به جای صفر از یک شمردین ، در واقع کد بالا ستون ششم رو غیرفعال می کنه
-
نقل قول: غیر فعال کردن ستون datagridview
نقل قول:
نوشته شده توسط
بیتا حکمت
سلام ، کد اقای
zagroti جواب می ده الان تست کردم ، جسارتا" شاید شما ستون ها رو به جای صفر از یک شمردین ، در واقع کد بالا ستون ششم رو غیرفعال می کنه
منم از صفر گرفتم بیتا حانم شما این کد رو روی کدوم event نوشتین من روی cellvaluechange نوشتم البته حدسم اینه که مشگل از if باشه
-
نقل قول: غیر فعال کردن ستون datagridview
نقل قول:
نوشته شده توسط
titipop1
منم از صفر گرفتم بیتا حانم شما این کد رو روی کدوم event نوشتین من روی cellvaluechange نوشتم البته حدسم اینه که مشگل از if باشه
من تو لود فرم نوشتم
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.RowCount = 8;
dataGridView1.ColumnCount = 8;
dataGridView1.Columns[5].ReadOnly = true;
}
-
نقل قول: غیر فعال کردن ستون datagridview
در شرط برای چک کردن برابری باید از عملگر == استفاده کنی ( = عملگر انتساب هست)
-
1 ضمیمه
نقل قول: غیر فعال کردن ستون datagridview
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
در شرط برای چک کردن برابری باید از عملگر == استفاده کنی ( = عملگر انتساب هست)
مهندس شرط == رعایت شده ولی جواب نمیده کد روی باتن جواب میده ولی توی این حالت ن
مرسی
دوستان گلم میخوام یه توضیح کامل بدم طبق تصویر که مبینید میخوام اگه کارگر غیبت داشت ستونهای کارکرد و اضافه کار به قولی قفل بشن البته بعد از زدن دکمه ثبت
ممنون از کمک همه دوستان
-
نقل قول: غیر فعال کردن ستون datagridview
شما از اول این موضوع رو به این شیوه مطرح میکردی بهتر بود .الان غیر فعال کردن یه ستون به کار شما نمیایید.آنچه شما لازم داری بر اساس یه شرط در سطرهای گرید یه سری سلول هارو در صورت داشتن شرط غیر فعال کنه.کد زیر براساس تصویر بالا نوشته شد
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
if(e.RowIndex<0)return;
if (e.ColumnIndex == 7)//ایندکس ستون دکمه
{
if (dataGridView1.CurrentRow != null &&
dataGridView1.CurrentRow.Cells[4].Value.ToString() == string.Empty)//ستون غیبت
{
dataGridView1.CurrentRow.Cells[5].ReadOnly = true;//ستون کارکرد
dataGridView1.CurrentRow.Cells[6].ReadOnly = true;//ستون اضافه کار
}
}
}
-
نقل قول: غیر فعال کردن ستون datagridview
نقل قول:
نوشته شده توسط
zagroti
شما از اول این موضوع رو به این شیوه مطرح میکردی بهتر بود .الان غیر فعال کردن یه ستون به کار شما نمیایید.آنچه شما لازم داری بر اساس یه شرط در سطرهای گرید یه سری سلول هارو در صورت داشتن شرط غیر فعال کنه.کد زیر براساس تصویر بالا نوشته شد
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
if(e.RowIndex<0)return;
if (e.ColumnIndex == 7)//ایندکس ستون دکمه
{
if (dataGridView1.CurrentRow != null &&
dataGridView1.CurrentRow.Cells[4].Value.ToString() == string.Empty)//ستون غیبت
{
dataGridView1.CurrentRow.Cells[5].ReadOnly = true;//ستون کارکرد
dataGridView1.CurrentRow.Cells[6].ReadOnly = true;//ستون اضافه کار
}
}
}
مهندس جان متاسفانه جواب نمیده بعد از مقدار گرفتن ستون غیبت دوتا ستون بعدی مقدار میگیرن
-
نقل قول: غیر فعال کردن ستون datagridview
سلام کدی رو که آقای زاگروتی در CellClick نوشتن رو باید در متد CellValueChanged و یا CellEndEdit اجرا کنید
-
نقل قول: غیر فعال کردن ستون datagridview
مهندس جان آخه واسه اون خط (e.Columnsindex)if باید توی Cellclick باشه
-
نقل قول: غیر فعال کردن ستون datagridview
سلام درسته .من کدرو تست کردم مشکلی نداره وقتی روی دکمه سطر کلیک شود اونوقت کدها بررسی میشود
-
نقل قول: غیر فعال کردن ستون datagridview
نقل قول:
نوشته شده توسط
titipop1
مهندس جان آخه واسه اون خط (e.Columnsindex)if باید توی Cellclick باشه
متدی که گفتم رو انجام بدید.
e.Columnsindex رو هم داره:
private void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
باید وقتی خانه مربوط به غیبت رو تغییر میدید این کار رو بکنید و اون دکمه رو هم نیاز ندارید
-
نقل قول: غیر فعال کردن ستون datagridview
اگر دو کامبو باکس مقدار میگیره مشکل از پیاده سازی ستون های از نوع ComboBox هست ربطی به کد بالا نداره
-
نقل قول: غیر فعال کردن ستون datagridview
مهندس جان با عرض پوزش ستون غیبت من دوتا مقدار میگیره "دارد" و "ندارد" که البته بنده به جای string.Empty جایگذاری کردم ولی خطای خالی بودن ستون غیبت رو میده البته به حرف مهندس golbafan توی رویداد cellvaluechange قرار دادم
-
نقل قول: غیر فعال کردن ستون datagridview
شما واسه هر سطر از دیتاگرید به دکمه گذاشتی پس بهتره در رویداد CellClick بنویسی که بهتره. ولی دوستمون رویداد CellValueChangedپیشنهاد دادن که به نظر من چون شما از دکمه استفاده کردی و سیاست کاری که گفتی بعد از اینکه روی دکمه سطر کلیک کرد ستون غیبت چک بعد دو ستون اضافه کاری و .. غیر فعال شود پس بهتره از CellClick استفاده شود
-
نقل قول: غیر فعال کردن ستون datagridview
چشم مهندس بذارید من کد ها رو انتقال بدم عرض میکنم خدمتتون
-
نقل قول: غیر فعال کردن ستون datagridview
امکانش هست نمونه پروژه کوچک از این بخش رو بزار من تست کنم. چون من کدی که گذاشتم کار میکنه
-
نقل قول: غیر فعال کردن ستون datagridview
مهندس جان جواب نمیده البته بگم که من فقط یه سطر دارم توی گرید در واقع توسط کمبو اسامی کارگر اونا رو یکی یکی حضور و غیاب میکنم بازم میگم فقط یه سطر دارم
-
نقل قول: غیر فعال کردن ستون datagridview
خب میدونی روش داره اذیتت میکنه بهتره روش پیاده سازی دیگه ایی جایگزین کن که این همه دردسر رو نداشته باشی.شما بهتره از دیتاگرید جهت افزودن یا ویرایش استفاده نکنی
-
1 ضمیمه
نقل قول: غیر فعال کردن ستون datagridview
-
نقل قول: غیر فعال کردن ستون datagridview
مهندس منظورتون اینه که از تکست باکس استفاده کنم؟
-
نقل قول: غیر فعال کردن ستون datagridview
با این اوصاف شما بار بار کلیک تغییرات رو تو دیتابیس ذخیره میکنی.دوست گرامی اون قسمت کدی که شما اضافه کردی رو به داخل if بالا سریش(زیر دو خط کد واسه Readonly کردن) ببر
-
نقل قول: غیر فعال کردن ستون datagridview
آره این روش کار کردن دردسر زیاد داره.به نظر من بهتره شما یه فرم و کنترل های لازم جهت پیاده سازی بخش افزودن و همچنین تو همین فرم هم میتونی بخش ویرایش اطلاعات رو داشته باشی استفاده کن که دردسرشم کمتره.لازم به توضیح که این روش هم جواب میده ولی دردسر پیاده سازی خاص خودشو داره
-
نقل قول: غیر فعال کردن ستون datagridview
مهندس بهتر شد ولی یکی ثبت میکنه بعد واسه بعدی عمل میکنه
-
نقل قول: غیر فعال کردن ستون datagridview
باز تکرار میکنم شما داری به جای چند TextBox و ComboBox که به سادگی کارتو را میندازه از یه سطر فقظ و فقط یه سطر از DataGrid استفاده میکنی که کاملا اشتباه است.شما بهتره وقتی داری ازین روش پیاده سازی(روش گرید) استفاده میکنی در پایان دستورات ذخیره سازی سطر جاری رو خالی نکنی و یه سطر دیگه(به وسیله کد) به گرید اضافه کنی برای درج رکورد بعدی
-
نقل قول: غیر فعال کردن ستون datagridview
حقیقتش مهندس این روش یه کم حرفه ای تره مطمئنم متوجه هستین چی میگم دوست دارم این روش باشه
-
نقل قول: غیر فعال کردن ستون datagridview
وقتی حرفه تره که شما تجربه کافی برای کارکردن با datagrid داشته باشی بیشتر property ها و eventهای گرید رو بشناسی و کار کرده باشی.الان من از شما یه سوال دارم جهت ویراش یه رکورد می خوای چه جوری پیاده سازی کنی(در روش گرید خودتون) ؟
-
نقل قول: غیر فعال کردن ستون datagridview
خوب اینا توی یه گرید دیگه ذخیره میشن بعد از همون گرید قابل ویرایش هستن
-
نقل قول: غیر فعال کردن ستون datagridview
مهندس اگه بحث لاک کردن اون دو ستون نباشه جواب میده گفتم با این کار بهتر میشه ناچارا باید بیخیال لاک کردن اون دو ستون بشم
-
نقل قول: غیر فعال کردن ستون datagridview
مهندس جان کمال تشکر رو دارم واقعا لطف کردین لبتون خندون و تنتون سالم خدا خیرتون بده
شب حوش
یا علی