تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في تغيير لون خلفية الخلية في ال Datagridview
#9
أضف عمود في قاعدة البيانات وليكن اسمه Green من نوع bit

في ملف الداتاسيت اضف عمود جديد اسمه مطابق لما أضفته لقاعدة البيانات وهو Green ونوع بياناته Boolean

اضف كويري كما فعلت في اضافة InsertQuery ولكن هنا تختار UpdateQuery وتضع هذا النص فيه
كود :
UPDATE [dbo].[Expats] SET [Green] = @Green WHERE (([Id] = @Original_Id);
SELECT Id, ExpatsNames, Green FROM Expats WHERE (Id = @Id)

وفي كود الفورم هذه التعديلات
كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'RecoordDataSet.Expats' table. You can move, or remove it, as needed.
    Me.ExpatsTableAdapter.Fill(Me.RecoordDataSet.Expats)

End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim row As RecoordDataSet.ExpatsRow = Me.RecoordDataSet.Expats.NewRow

    row.ExpatsNames = ComboBox1.Text
    row.Green = False
    Me.RecoordDataSet.Expats.Rows.Add(row)

    ExpatsTableAdapter.Update(RecoordDataSet.Expats)

End Sub

Private Sub DataGridView1_CellMouseDoubleClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseDoubleClick

    Me.DataGridView1.CurrentRow.Cells(1).Style.BackColor = Color.Green

    Dim id As Integer = ExpatsBindingSource.Current("ID")
    Dim row As RecoordDataSet.ExpatsRow =
        Me.RecoordDataSet.Expats.Where(Function(x) x.Id = id).FirstOrDefault

    row.ExpatsNames = row.ExpatsNames
    row.Green = True

    ExpatsTableAdapter.Update(RecoordDataSet.Expats)

End Sub

Private Sub DataGridView1_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs) Handles DataGridView1.RowsAdded

    For i = 0 To DataGridView1.Rows.Count - 1

        Dim row As RecoordDataSet.ExpatsRow =
            Me.RecoordDataSet.Expats.Where(Function(x) x.Id = CInt(DataGridView1.Rows(i).Cells(0).Value)).FirstOrDefault

        If row.ExpatsNames <> "" Then
            DataGridView1.Rows(i).Cells(1).Style.ForeColor = Color.Red
        End If

        If row.Green Then
            DataGridView1.Rows(i).Cells(1).Style.BackColor = Color.Green
        End If

    Next

End Sub


تم تصحيح كود الفورم
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: مشكلة في تغيير لون خلفية الخلية في ال Datagridview - بواسطة مساعدة - 09-01-17, 12:06 AM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم