PDA

View Full Version : قفل کردن یکی از سلولهای دیتاگرید



swallow.pa
پنج شنبه 31 فروردین 1391, 13:04 عصر
سلام به همه
من توی دیتاگریدم دو تا ستون دارم حالا می خوام توی ردیف اگه یکی ستونها مقدارش بزرگتر از صفر باشد ستون بعدی قفل بشه تا کاربر نتونه چیزی وارد کنه و برعکس
ممنون

ROSTAM2
پنج شنبه 31 فروردین 1391, 13:18 عصر
خصیصه Readonly

اینم کد

WITH DatagridView1
For i=0 to .RowCount -1
.Rows(i).Cells(1).ReadOnly= CBool(val(.Rows(i).Cells(0).Value)=0)
Next
End With

barbodsoft.com
پنج شنبه 31 فروردین 1391, 15:27 عصر
خصیصه Readonly

اینم کد

WITH DatagridView1
For i=0 to .RowCount -1
.Rows(i).Cells(1).ReadOnly= CBool(val(.Rows(i).Cells(0).Value)=0)
Next
End With

این قفل می کنه نه اون طوری که لازم هست. بعد نگفتید در چه رویدادی نوشته شود.

می تونی از این روش که در این تاپیک توضیح دادم استفاده کنی.
http://barnamenevis.org/showthread.php?288119-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%D8%AF%DB%8C%D8%AA%D8%A7%DA%AF%D8%B1%DB%8C%D8%AF/page3

swallow.pa
پنج شنبه 31 فروردین 1391, 19:31 عصر
دوست من از گرید جانوس دارم استفاده می کنم

swallow.pa
پنج شنبه 31 فروردین 1391, 19:37 عصر
من این کد رو نوشتم


If GridEX1.CurrentColumn.Index = 7 Then
If GridEX1.CurrentRow.Cells(7).Value > 0 Then
GridEX1.CurrentRow.Cells(7).EditType = EditType.TextBox
GridEX1.CurrentRow.Cells(8).EditType = EditType.NoEdit
End If
ElseIf GridEX1.CurrentColumn.Index = 8 Then
If GridEX1.CurrentRow.Cells(8).Value > 0 Then
GridEX1.CurrentRow.Cells(8).EditType = EditType.TextBox
GridEX1.CurrentRow.Cells(7).EditType = EditType.NoEdit
End If
End If


اما توی هر رویدادی می نویسم جواب نمی دهد

کاظم فلاحی خواه
یک شنبه 03 اردیبهشت 1391, 03:53 صبح
سلام دوست عزیز پروژه ات اماده شد .
http://kazemfallahi1371.persiangig.com/document/akfa_datagridlock.rar
با تشکر./
Akfa Corporation

Hybrid
یک شنبه 03 اردیبهشت 1391, 12:16 عصر
سلام میتونین از رویداد CellendEdit دیتا گرید ویو استفاده کنید :


Private Sub DataGridView1_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit

If Int(Me.DataGridView1.Rows(e.RowIndex).Cells(0).Val ue) > 0 Then
Me.DataGridView1.Rows(e.RowIndex).Cells(1).ReadOnl y = True
Else
Me.DataGridView1.Rows(e.RowIndex).Cells(1).ReadOnl y = False
End If

End Sub

موفق باشید

کاظم فلاحی خواه
یک شنبه 03 اردیبهشت 1391, 16:45 عصر
سورس قفل کردن سلول گرید های ویژال استادیو و جانوس

http://akfacorporation.persianblog.ir/

با تشکر ./
Akfa Corporation

swallow.pa
دوشنبه 04 اردیبهشت 1391, 21:33 عصر
ممنون دوستان