04-03-16, 01:47 AM
يا عسـل المثال لا يعمل بالشكل الصحيح
الكود عدلت فيه الداله أتضح معي طريقتين
الأولى عند الضغط على حفظ يحدد الجميع
وعند أزالة التحديد ثم الضغط على حفظ يزيل التحديد عن الكل
ألصق الكود في المثال اللي موجود عندك وستجد أنه لا يعمل
الآن الجدول لدي في قاعدة البيانات كالتالي ID*Name*Num_Pr*Ght_pr*Agra*datego*tk
ما يهمني هو الحقل (tk( يظهر في الداتا قريد فيو بعلامة تشك على طول بدون أضافة تشك
أحنا أقتربنا من الحل أن شاء الله وأشكرك على تعاونك
الكود عدلت فيه الداله أتضح معي طريقتين
الأولى عند الضغط على حفظ يحدد الجميع
وعند أزالة التحديد ثم الضغط على حفظ يزيل التحديد عن الكل
كود :
Imports System.Data.SqlClient
Imports System.Data
Public Class Form1
Dim da As New SqlDataAdapter
Dim dtt As New DataTable
Dim com As New SqlConnection("Data Source=.;Initial Catalog=COP_DAT;Integrated Security=True")
Dim cmd As New SqlCommand
Dim b As Integer
' الجدول عبـاره عن حقلين الحقل الأول الأسم الحقل الثاني التحقق
' bitنوع الحقل الأول تكست نوع الحقل الثاني
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dtt.Clear()
da = New SqlDataAdapter("SELECT * FROM hala ", com)
da.Fill(dtt)
DataGridView1.DataSource = dtt
For i = 0 To DataGridView1.Rows.Count - 1
With DataGridView1.Rows(i)
Dim MyCheck As Boolean
If MyCheck = True Then
.Cells(6).Value.ToString()
'.Cells(0).ReadOnly = True
''.Cellds(1).ReadOnly = True
'.Cells(2).ReadOnly = True
.DefaultCellStyle.BackColor = Color.LightGray
Else
.Cells(0).ReadOnly = False
.Cells(1).ReadOnly = False
.Cells(2).ReadOnly = False
.DefaultCellStyle.BackColor = Nothing
End If
End With
Next
' في حدث اللود إذا ملئت الداتا قريد يتأكد من الجدول عن الحقول التي تم تحديدها وينزلها مضلله
End Sub
'التأكد من وجود السجل في قاعدة البيانات
Public Function CheckData(ByVal id As Integer)
Dim cm As New SqlCommand("Select tk from hala where tk=@tk", com)
cm.Parameters.AddWithValue("@tk", DataGridView1.Rows(0).Cells(6).Value)
com.Open()
Dim dr As SqlDataReader = cm.ExecuteReader()
If dr.HasRows = True Then 'اذا كان السجل موجود يرجع 1
b = 1
com.Close()
Return b
Else
b = 0
com.Close()
Return b
End If
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For i As Integer = 0 To DataGridView1.Rows.Count - 1
If CheckData(CBool(DataGridView1.Rows(i).Cells(6).Value)) = 1 Then
Dim cm As New SqlCommand("Update hala set tk=@tk", com)
cm.Parameters.AddWithValue("@tk", CBool(DataGridView1.Rows(i).Cells(6).Value.ToString))
com.Open()
cm.ExecuteNonQuery()
com.Close()
End If
Next
MsgBox("تم التعديل")
Form1_Load(sender, e)
End Sub
End Classألصق الكود في المثال اللي موجود عندك وستجد أنه لا يعمل
الآن الجدول لدي في قاعدة البيانات كالتالي ID*Name*Num_Pr*Ght_pr*Agra*datego*tk
ما يهمني هو الحقل (tk( يظهر في الداتا قريد فيو بعلامة تشك على طول بدون أضافة تشك
أحنا أقتربنا من الحل أن شاء الله وأشكرك على تعاونك

