如何将DataGridView单元格样式保存到数据库

时间:2014-10-02 13:14:05

标签: vb.net datagridview datagridviewcellstyle

我正在使用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

1 个答案:

答案 0 :(得分: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)

这会使行标识符成为绝对值,因此您对过滤没有任何问题。列名也消除了列重写问题。

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