ورود

View Full Version : سوال: چطور میشه یک ستون از دیتا گرید رو مخفی کرد و دوباره ظاهر کرد



behnam_tr
دوشنبه 09 مرداد 1391, 11:59 صبح
با سلام ....
من یه فرم دارم که دیتاگریدش 4 تا ستون داره حالا میخوام که وقتی checkbox تیک میزنم ستونی که میخوام مخفی بشه و وقتی تیک رو برمیدارم دوباره ظاهر بشه

mohammadriano
دوشنبه 09 مرداد 1391, 12:05 عصر
DBGrid.Columns("yourField").Visible = False

behnam_tr
دوشنبه 09 مرداد 1391, 12:09 عصر
اینو تو فروم اکتیو نوشتم جواب نداد .......

If Check1.Value = True Then
DataGrid1.Columns("p1").Visible = False
End If

mohammadriano
دوشنبه 09 مرداد 1391, 12:09 عصر
این هم کد آماده :

Private Sub Check1_Click()
If Check1.Value = 1 Then
DBGrid.Columns("p1").Visible = True
Else
DBGrid.Columns("p1").Visible = False
End If
End Sub

behnam_tr
دوشنبه 09 مرداد 1391, 12:12 عصر
جواب نمیده این کد
موقع کلیک روی چک باکس خطا میده .//

mohammadriano
دوشنبه 09 مرداد 1391, 12:15 عصر
جواب نمیده این کد
موقع کلیک روی چک باکس خطا میده .//
ارور نمیده
باید دقت داشته باشید که نام captionرو visible میکنه
یعنی هر چیزی که تو گرید نشون میده

behnam_tr
دوشنبه 09 مرداد 1391, 12:19 عصر
این کد برای من کاری نمیکنه فقط خطا میده

saeedharati
دوشنبه 09 مرداد 1391, 12:29 عصر
سلام منم امتحان كردم جواب نميده خطا ميده كه همچين اسمي وجود نداره

mohammadriano
دوشنبه 09 مرداد 1391, 12:33 عصر
اینم لینک دانلود :
90486

behnam_tr
دوشنبه 09 مرداد 1391, 12:36 عصر
اوکی یافتم ........

نام فیلد در دیتاگرید حتما باید p1 بذارم ....
در حالی که من تو دیتابیس p1 , و تو دیتا گرید کپشن رو یه نام دیگه زده بودم
الان کپشن رو p1 زدم حل شد ...
برای نام فارسی هم تست کردم جواب داد ممنون دوست عزیز ...

حالا یه سوال دیگه که اینم کمک کنید ممنون میشم ....

میخوام با زدن دکمه f1 از کیبورد چک باکس مخفی و ظاهر بشه ...

mohammadriano
دوشنبه 09 مرداد 1391, 13:24 عصر
میخوام با زدن دکمه f1 از کیبورد چک باکس مخفی و ظاهر بشه ...
ببینید در کامپایلر های جدید برای کار شما امکان فشردن کلیک رو قرار دادند(در تمامی control ها)
اما در VB6 این امکان رو حداقل من پیدا نکردم
منظورم از تمام کنترل ها رو شما زمانی متوجه میشید که این کد رو به یک کنترل اظافه کنید

Private Sub yourcontrol_KeyPress(KeyAscii As Integer)
If KeyAscii = 112 Then Check1.Visible= False
End Sub

الان روی کنترل مورد نظر اگر کلید F1 زده بشه Check1 مخفی میشه ، اما فقط روی کنترل مورد نظر شما این اتفاق می افته
اما بهتر هست شما در سایت این جمله رو جستجو کنید "تشخیص فشرده شدن کلید"
خیلی بحث شده