0

私は vb.net で DataGridView を使用しており、DataGridView で行われた変更を 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

And 選択したセルの色を変更するためにクリックされるボタン。

  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 に答える