PDA

View Full Version : disable کردن سطر dbgrid



lord_viper
سه شنبه 02 مرداد 1386, 18:29 عصر
با سلام
یهcomboxداریم که 3 گزینه داره با یه dbgridکه3 ستون داره و اطلاعات رو نمایش میده میخواهم وقتی ایتم دوم انتخاب شد 2تا از فیلدها disableبشه از اون سطر و وقتی ایتم سوم comboboxانتخاب شد فیلد سوم از اون سطر disableبشه
با تشکر

Batman
سه شنبه 02 مرداد 1386, 18:46 عصر
دوست عزیز شما در رویداد combobox , onchange کد زیر رو وارد کنید
case combobox1.itemindex of
0:' ';
1:begin
dbgrid1.columns.items[1].visible:=false;
dbgrid1.columns.items[2].visible:=false;
end;
2:dbgrid1.columns.items[3].visible:=false;
end;
البته امیدوارم منظورتون از disable شدن hide شدن یه ستون باشه درسته؟
موفق باشید

SYNDROME
سه شنبه 02 مرداد 1386, 19:32 عصر
با سلام

با سلام
یهcomboxداریم که 3 گزینه داره با یه dbgridکه3 ستون داره و اطلاعات رو نمایش میده میخواهم وقتی ایتم دوم انتخاب شد 2تا از فیلدها disableبشه از اون سطر و وقتی ایتم سوم comboboxانتخاب شد فیلد سوم از اون سطر disableبشه
با تشکر
کد زیر را در Onchange مربوط به ComboBoxبنویس.


DBGrid1.Columns[ComboBox1.Tag].ReadOnly := False;
DBGrid1.Columns[ComboBox1.ItemIndex].ReadOnly := True;
ComboBox1.Tag := ComboBox1.ItemIndex;

ComboBox.Tag : کار این گزینه این است که Index قبلی ComboBox را در خود نگه می دارد تا هر وقت مقدار ComboBox عوض شد حالا قبل را از حالا قفل خارج کنیم و می توانی به جای این کار از یک متغییر Integer استفاده کنی.
در این حالا بنده فقط ستون مورد نظر را قفل می کنم و کاربر نمی تواند در آن ستون تغییراتی انجام دهد.
موفق باشی

mzjahromi
چهارشنبه 03 مرداد 1386, 06:45 صبح
با سلام
یهcomboxداریم که 3 گزینه داره با یه dbgridکه3 ستون داره و اطلاعات رو نمایش میده میخواهم وقتی ایتم دوم انتخاب شد 2تا از فیلدها disableبشه از اون سطر و وقتی ایتم سوم comboboxانتخاب شد فیلد سوم از اون سطر disableبشه
با تشکر

با توجه به اینکه سوالتون خیلی مبهمه همینطور که می بینید هریک از دوستان بر اساس حدسیات خودشون یه پاسخ به شما دادن.
این کد هم به لیست جوابهای فوق اضافه کنید.


DBGrid1.SelectedIndex:=ComboBox1.ItemIndex;

این کد رو در رویدادهای OnColumnEnter , DBGrid1Enter قرار بدید. فقط اجازه نمیده با ستونی غیر از ستون انتخاب شده کار کنید

lord_viper
پنج شنبه 04 مرداد 1386, 19:07 عصر
ممنون از تمام دوستان
یه برنامه واسه موبایل فروشیه میخوام وقتی نوع دریافت که از comboboxخونده میشه غیر از چک بود اون سلولهای خاص که مربوط به مبلغ و تاریخ هست disableبشه وفقط برای انتخاب دریافتهای چکenableباشه

Batman
جمعه 05 مرداد 1386, 07:48 صبح
خوب چرا از یه جدول جداگانه استفاده نمیکنی
کارت هم راحت تر میشه؟

SYNDROME
جمعه 05 مرداد 1386, 09:01 صبح
با سلام

ممنون از تمام دوستان
یه برنامه واسه موبایل فروشیه میخوام وقتی نوع دریافت که از comboboxخونده میشه غیر از چک بود اون سلولهای خاص که مربوط به مبلغ و تاریخ هست disableبشه وفقط برای انتخاب دریافتهای چکenableباشه
منظور شما این است که یک ComboBoxبا 3 آیتم دارید و اگر روی هر خط کلید کردید گزینه مربوطه را انتخاب کردید فقط ستون مربوط به آن قابل ویرایش باشد و بقیه ستونها غیر قابل ویرایش باشد.(اگر درست متوجه شده باشم)
بنده در پست سوم دقیقاً این کار را در Onclick مربوط به ComboBox نوشتم.
حالا شما با توجه به نیاز خود می توانید این کد را در AfterScrollمربوط به ADO و یا در جای دیگر آن را استفاده کنید.
موفق باشید.