PDA

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



Ali_Fallah
دوشنبه 02 دی 1392, 21:53 عصر
با سلام
1-میخوام وقتی در دیتا گردید ویو مقدار یک سلول رو تغییر میدم با زدن کلید اینتر و رفتن به رکورد بعدی این تغییرات ثبت بشه.(از طریق تکست نباشه - شبیه اکسل یا اکسس)
2- مگر فراخوانی رویداد یک باتن (دکمه) بصورت Call button1_Click نیست ؟

sagggad
دوشنبه 02 دی 1392, 22:05 عصر
بانک اطلاعاتیت Access هست؟؟

Ali_Fallah
دوشنبه 02 دی 1392, 22:18 عصر
یک سوال کلیه ، هم اکسس هم SQL

sagggad
دوشنبه 02 دی 1392, 22:33 عصر
من که دقیق متوجه منظورتون نشدم اما از کد زیر میتونی برای Access استفاده کنی:

Me.Validate()
Me.Table6BindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.Database6DataS et)

این کد تمام تغییرات رو ذخیره میکنه!

boveiryghasem
سه شنبه 03 دی 1392, 07:46 صبح
سلام

دوست عزیز Ali_Fallah (http://barnamenevis.org/member.php?12812-Ali_Fallah) در مورد سوال اولتون شما باید در رویداد CellValueChanged دیتاگرید کدهای مربوطه رو بنویسید با این رویداد با زدن اینتر و رفتن به رکورد بعدی تغییرات اعمال میشه مثل کد زیر که برای برنامه خودم نوشتم:
Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
Dim ColumnName As String = ""
ds = New DataSet
cnn.ConnectionString = "Data Source=192.168.1.3\TCM;Initial Catalog=TCM;User ID = TCM_User ;Password=HTT"
Select Case DataGridView1.Columns(e.ColumnIndex).Name
Case "کد خرابی"
ColumnName = Nothing
ColumnName = "code"
Case "زمان اعلام"
ColumnName = Nothing
ColumnName = "time"
Case "موقعیت"
ColumnName = Nothing
ColumnName = "Name_Taghato"
Case "شرح خرابی"
ColumnName = Nothing
ColumnName = "sharhe_Kharabi"
Case "اعلام کننده"
ColumnName = Nothing
ColumnName = "Alam_Konande"
Case "ساعت اعزام"
ColumnName = Nothing
ColumnName = "Sa_At"
Case "اکیپ"
ColumnName = Nothing
ColumnName = "E_kip"
Case "مواد مصرفی"
ColumnName = Nothing
ColumnName = "Mavade_Masrafi"
Case "توضیحات"
ColumnName = Nothing
ColumnName = "Tozihat"
Case "تاریخ رفع"
ColumnName = Nothing
ColumnName = "Tarikh_Raf"
Case "ساعت رفع"
ColumnName = Nothing
ColumnName = "Sa_ad_Raf"
Case "تاریخ گزارش"
ColumnName = Nothing
ColumnName = "Tarikh_Gozaresh"
Case "ساعت گزارش"
ColumnName = Nothing
ColumnName = "Sa_at_Gozaresh"
Case "گیرنده گزارش"
ColumnName = Nothing
ColumnName = "Girande_Gozaresh"
Case "وضعیت"
ColumnName = Nothing
ColumnName = "Vaz_e_at"
'*****************************************
End Select
cmd.CommandText = "Update HTI_CO set " & ColumnName & "=N'" & DataGridView1.CurrentCell.Value() & "' Where Code='" & (DataGridView1.CurrentRow.Cells(0).Value()) & "'"
cmd.Connection = cnn
cnn.Open()
cmd.ExecuteNonQuery()
cnn.Close()
End Sub
البته اول باید ستونی رو که میخای تغییر بدی پیدا کنی که من قبلش اینکارو کردم بعدش دیگه راحت با شرط توی Query میشه سطرش رو هم پیدا کرد اگه سوال داشتی من در خدمتم.