PDA

View Full Version : كنترلا فيلد Datagridview



mehr_83
شنبه 09 اردیبهشت 1391, 14:33 عصر
با سلام
از طريق ويزار ديتاگريد را به ديتابيس متصل كرده‌ام. حالا مي خواهم در فيلد نمرات كاربر فقط بتواند عدد وارد كند. و اين عدد نيز مابين 0 تا 20 باشد. با چه كدي مي توانم اين كار را انجام دهم؟
ممنون

Hybrid
شنبه 09 اردیبهشت 1391, 16:01 عصر
سلام ،

کد زیر رو داخل رویداد CellValidating دیتاگرید ویو قرار بده و نتیجه رو مشاهده کن :


If e.ColumnIndex = 0 Then
If IsNumeric(e.FormattedValue) Then
Me.DataGridView1.Rows(e.RowIndex).ErrorText = ""
Dim intNumber As Integer = Int(e.FormattedValue)
If Not (intNumber > 0 And intNumber < 20) Then
Me.DataGridView1.Rows(e.RowIndex).ErrorText = "لطفا عددی در بین 0 تا 20 وارد نمایید "
e.Cancel = True
Else
Me.DataGridView1.Rows(e.RowIndex).ErrorText = String.Empty
e.Cancel = False
End If
Else
Me.DataGridView1.Rows(e.RowIndex).ErrorText = "لطفا عدد وارد نمایید"
e.Cancel = True
End If
End If

swallow.pa
شنبه 09 اردیبهشت 1391, 19:42 عصر
کار برای ورود اطلاعات با گرید خیلی مشکله من که بی خیالش شدم

mehr_83
شنبه 09 اردیبهشت 1391, 22:30 عصر
ممنون از پاسختون . درست كار كرد. ولي ايرادي كه داره اينه: اگر به جاي عدد حرف وارد كنيم يا عدد وارد شده بين 0 و 20 نباشه جلوشو ميگيره اما برنامه بسته نميشه. يعني هرچقدر X را براي بستن برنامه كليك مي‌كني اثري نداره!

Hybrid
یک شنبه 10 اردیبهشت 1391, 00:42 صبح
ممنون از پاسختون . درست كار كرد. ولي ايرادي كه داره اينه: اگر به جاي عدد حرف وارد كنيم يا عدد وارد شده بين 0 و 20 نباشه جلوشو ميگيره اما برنامه بسته نميشه. يعني هرچقدر X را براي بستن برنامه كليك مي‌كني اثري نداره!

به خاطر اون e.cancel=true هست عزیز ،

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

موفق باشید

mehr_83
یک شنبه 10 اردیبهشت 1391, 10:27 صبح
به خاطر اون e.cancel=true هست عزیز ،

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

موفق باشید
ممنون. اما بازم نتونستم. سرچ هم كردم به نتيجه‌‌اي نرسيدم.

mehr_83
یک شنبه 10 اردیبهشت 1391, 11:36 صبح
in your form's closing event
If e.CloseReason = CloseReason.UserClosing Then
' hide application code
e.Cancel = False
End If