0

我正在使用 vb.net 中的 DataGridView,并且正在尝试将在 DataGridView 中所做的更改保存到我的 Access 数据库中。问题是,用户可以通过选择他们想要的任何单元格然后更改颜色来更改单个单元格的背景颜色。我不知道如何保存单个单元格的背景颜色,以便在再次运行程序时显示颜色。当用户点击保存颜色格式被删除。我也不认为我可以通过添加颜色列在它的 Access 端执行此操作,因为每一行和每一列都会使用多种颜色。有没有办法保存单元格样式格式?这是代码...这是保存按钮

 Private Sub DsfToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DsfToolStripMenuItem.Click
    BaggersTableAdapter.Update(RentalsDataSet.Tables(0))
    RentalsDataSet.Tables(0).AcceptChanges()


End Sub

和 单击以更改所选单元格颜色的按钮。

  Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click
    For i As Integer = 0 To DataGridView1.SelectedCells.Count - 1
        'Dim a As String = (DataGridView1.SelectedCells(i).RowIndex.ToString)
        Dim colIndex As Integer = DataGridView1.SelectedCells(i).ColumnIndex
        Dim rowIndex As Integer = DataGridView1.SelectedCells(i).RowIndex
        DataGridView1.Item(colIndex, rowIndex).Style.BackColor = Color.LightGreen


    Next
End Sub
4

1 回答 1

0

我会创建表格来保存设计颜色。类似于 grid_style_header (header_id, grid_id, user_id) grid_style_cells (id, header_id, row, column, color)...

如果您允许过滤网格,则可能会出现问题。如果发生这种情况,您的列可能会保留,但行可能不会保留,或者它们可能会向上或向下移动。

如果可以实现更好的解决方案:grid_style_cells(id,header_id,row_guid(数据库ID中的任何主键),column_name,color)

这使得行标识符是绝对的,因此您对过滤没有任何问题。列名也摆脱了列重新排序问题。

我不知道有任何内置的解决方案。

于 2015-02-04T13:49:42.397 回答