السلام عليكم ورحمة الله وبركاته
اخواني
عندي داتاقريد فيو تعرض البيانات من قاعدة بيانات sql أريد أن أقوم بتعديل على خلية واحدة في كل الصفوف بشكل متتالي ويعمل تحديد تلقائي للصف التي تجري عليه العملية بحيث يحصل له تحديد ( يعني أرى التحديد ينتقل من صف إلى الصف الذي يليه )
اتمنى يكون السؤال واضح
آسف على الإطالة
دمتم بود
وعليكم السلام
السؤال غير واضح
السلام عليكم اخي الكريم
ماشاء الله نحن في عصر السرعة وانت تريد الرجوع الى زمن قبل المعالج z80 بعشرين سنة
اولا يتم تنفيد الكود بلمح البصر من خلال عملية For loop
وفق الكود التالي
كود :
For i As Integer = 0 To DataGridView1.Rows.Count - 1
DataGridView1.Rows(i).Cells(2).Value += 10 ' هذا السطر لتعديل الخلية باضافة رقم 10 على القيمة الاصلية
DataGridView1.Rows(i).Selected = True ' هذا السطر سيجعل الصف باللون الازرق الافتراضي
Next
حيث يتم المرور تباعا على العمود رقم 3 ذو الاندكس رقم 2 وتتم اضافة 10 على قيمته السابقة
اما مسألة عمل الكود ببطئ بفاصل زمني فيمكنك مراجعة مشاريع الاخ ابو روضة والتي تتحدث عن ارسال رسائل نصية بفارق زمني فهي اشبه بما تريد
السلام عليكم ورحمة الله وبركاته
بداية الشكر الجزيل لكما لتفاعلكم مع الموضوع
ممكن سؤالي ما كان واضح مثل ماقال الأخ mmali127
سؤالي كالتالي
عندي قاعدة بيانات وأريد أن أعمل لها تعديل في خلية معينة في عمود رقم 8 والتعديل هو حذف علامة الطرح ( - ) اذا كانت الخلية بها هذه العلامة وتحويلها الى هذه القيمة
"00:00" ثم عملت الكود التالي
Dim a5 As Integer
Dim last5 As Integer = DataGridView2.Rows.Count - 1
For a5 = 0 To last5
If DataGridView2.Rows(a5).Cells(8).Value.Contains("-") Then
DataGridView2.Rows(a5).Cells(8).Value = "00:00"
'Dim cmdupdate As SqlCommand = New SqlCommand("update Daily_Table set TimeWithSecond=@TimeWithSecond where ID = @ID", Sqlcon)
'cmdupdate.Parameters.Add("@TimeWithSecond", SqlDbType.NVarChar).Value = TextBox10.Text
'cmdupdate.Parameters.Add("@ID", SqlDbType.Int).Value = CInt(TextBox11.Text)
'Sqlcon.Open()
'If cmdupdate.ExecuteNonQuery = 1 Then
'End If
'Sqlcon.Close()
End If
Next
MsgBox("تم التعديل بنجاح")
أين المشكلة إذاً ؟
يتم تعديل فقط على السطر الذي أحدده يدويا فقط وباقي السطور تترك كما هي لأن التعديل يتطلب أن قيمة الخلية التي تريد تعدلها يجب أن تظهر في التكست بوكس
أريد أن يتم التعديل بالتتالي بدون أن أقوم بتحديد كل سطر لوحده
آسف على الاطالة
(20-04-20, 05:38 PM)جيولوجي مبتدئ كتب : [ -> ] أين المشكلة إذاً ؟
يتم تعديل فقط على السطر الذي أحدده يدويا فقط وباقي السطور تترك كما هي لأن التعديل يتطلب أن قيمة الخلية التي تريد تعدلها يجب أن تظهر في التكست بوكس
أريد أن يتم التعديل بالتتالي بدون أن أقوم بتحديد كل سطر لوحده
آسف على الاطالة
اضافة هذا السطر بعد تغيير قيمة الخلية
textbox11.text = DataGridView2.Rows(a5).Cells(8).Value
لصبح الكود كالتالي
كود :
Dim a5 As Integer
Dim last5 As Integer = DataGridView2.Rows.Count - 1
For a5 = 0 To last5
If DataGridView2.Rows(a5).Cells(8).Value.Contains("-") Then
DataGridView2.Rows(a5).Cells(8).Value = "00:00"
textbox11.text = DataGridView2.Rows(a5).Cells(8).Value
'Dim cmdupdate As SqlCommand = New SqlCommand("update Daily_Table set TimeWithSecond=@TimeWithSecond where ID = @ID", Sqlcon)
'cmdupdate.Parameters.Add("@TimeWithSecond", SqlDbType.NVarChar).Value = TextBox10.Text
'cmdupdate.Parameters.Add("@ID", SqlDbType.Int).Value = CInt(TextBox11.Text)
'Sqlcon.Open()
'If cmdupdate.ExecuteNonQuery = 1 Then
'End If
'Sqlcon.Close()
End If
Next
MsgBox("تم التعديل بنجاح")