PDA

View Full Version : یک مشکل با KeyPress



Navid Asadi
دوشنبه 05 مرداد 1388, 23:00 عصر
سلام من از کد زیر در KeyPress دیتاگرید ویو برنامه ام استفاده میکنم تا در بانک داده حرکت کنه اما این کد کار نمیکنه!
If e.KeyChar = Chr(Keys.Up) Then
چیکار کنم؟

amironline
سه شنبه 06 مرداد 1388, 06:43 صبح
شما بايد KeyPreview فرمتون رو True كنين

Navid Asadi
سه شنبه 06 مرداد 1388, 14:24 عصر
عمل نکرد
کد کامل گذاشتم
مشکلش کجاست؟


Private Sub DataGridView1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles DataGridView1.KeyPress
If e.KeyChar = Chr(Keys.Up) Then
Me.BindingContext(ds, "Navid2").Position = 0
I = Me.DataGridView1.CurrentRow.Cells("ID").Value.ToString
For t = 0 To Me.BindingContext(ds, "Navid2").Count - 1
P = Me.BindingContext(ds, "Navid2").Position
I2 = ds.Tables("Navid2").Rows(P).Item("ID")
If I2 = I Then
Exit For
Else
Me.BindingContext(ds, "Navid2").Position += 1
End If
Next
Call fil()
End If

End Sub

Navid Asadi
چهارشنبه 07 مرداد 1388, 09:54 صبح
سلام کسی نیست کمک کنه؟
برام خیلی مهمه!

ebrahimv
چهارشنبه 07 مرداد 1388, 12:30 عصر
سلام من از کد زیر در KeyPress دیتاگرید ویو برنامه ام استفاده میکنم تا در بانک داده حرکت کنه اما این کد کار نمیکنه!
If e.KeyChar = Chr(Keys.Up) Then
چیکار کنم؟
با استفاده از اين كد امتحان كنيد
براي حركت در پايگاه داده من از اين روش استفاده ميكنم
ا


If e.KeyChar = Chr(Keys.Up) Then
Me.TblAsnafBindingSource.MoveNext()
end if

Navid Asadi
سه شنبه 13 مرداد 1388, 12:42 عصر
سلام

TblAsnafBindingSource

این چیه ؟ اصلا تو متد های Me نیست!
واقا" کسی در این مورد اطلاع نداره....

m.abooei
سه شنبه 13 مرداد 1388, 19:42 عصر
سلام
اگر مشکلی نداشته باشید که در رویداد KeyDown کدتون رو بنویسید می تونید اینجوری استفاده کنید.


PrivateSub TextBox1_KeyDown(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If Asc(e.KeyCode) = 51 Then
'Your Source
EndIf
EndSub

Navid Asadi
سه شنبه 13 مرداد 1388, 22:45 عصر
من نمی خوام از KeyDown استفاده کنم چون Key down قبل از حرکت در بین ردیف ها عمل میکنه...

bahman_akbarzadeh
پنج شنبه 15 مرداد 1388, 23:15 عصر
بجاي كد نويسي براي keyPress، از رويداد هاي گريد ويو استفاده كنين تا خيلي چيزها مثل چك كردن وجود سطر، در بالاي يا پايين احتياجي نباشه.
مثلا با رويداد onRowEnter ميتونيد روي بالا و پايين، و با رويداد onCellEnter روي چپ و راست كنترل داشته باشيد.

ebrahimv
یک شنبه 18 مرداد 1388, 02:15 صبح
سلام


این چیه ؟ اصلا تو متد های Me نیست!
واقا" کسی در این مورد اطلاع نداره....

سلام
مگه شما نمي خوايي در پايگاه داره حركت كني؟
براي اين كار لازم نيست از قريد ويو استفاده كني شما مگه قريد ويو به وسيله ابزار به نام BindingSource به پايگاه داده وصل نميكنيد؟
خوب كافيه با استفاده از خاصيت MoveNext در ابزار BindingSource به جلو بريد
TblAsnafBindingSource همون ابزار BindingSource كه من در برنامم ازش استفاده كردم فقط اسمشو تغيير دادم

Navid Asadi
یک شنبه 18 مرداد 1388, 13:06 عصر
خوب حالا اگه من دیتا گرید ویو رو بر اساس یک فیلد منظم کردم چی؟

ebrahimv
یک شنبه 18 مرداد 1388, 23:37 عصر
خوب حالا اگه من دیتا گرید ویو رو بر اساس یک فیلد منظم کردم چی؟

هر كاري هم انجام بدي درست كار ميكنه
من كه از اين روش استفاده ميكنم و خيلي راحت و بدون ايراده

Navid Asadi
دوشنبه 19 مرداد 1388, 11:45 صبح
چرا متوجه نمیشید...
Key Down قبل از حرکت در جدول رخ میده...

Navid Asadi
دوشنبه 19 مرداد 1388, 11:47 صبح
در ضمن من از دستور زیر استفاده میکنم:

DataGridView1.DataSource = ds.Tables("Navid2")

Navid Asadi
سه شنبه 20 مرداد 1388, 18:25 عصر
من گیرم
تو رو خدا کمکم کنید....