1

初期位置: 型指定されたデータセット (SQL クエリからのデータが取り込まれた) を DGV にバインドしました。DGV エントリは、読み取りのためだけに編集するためのものではありません。DGV には 12 行 (月) があります。

問題: 数値の代わりに月の名前を表示しようとしています (1 = 1 月、2 = 2 月など) が、その方法がわかりません。

私が試したこと: 私の考えは、バインドされていないテーブル (値; 月の名前) を作成して使用することでしたが、必要なことを実行できる列タイプ (DGV -> 列の編集) が見つかりません。

編集: こんにちは、いいえ、それはヘッダーに関するものではありません。例を挙げます。

ATM は次のようになります。

1|true|
2|false|
3|false|

...私の目標は:

January|true|
Feburary|false|
March|false|
4

1 に答える 1

1

イベント「CellFormating」を試すことができるかもしれません。各行データがバインドされた後に発生するイベントがあるため、Webでは簡単ですが、残念ながらWindows形式ではそうではありません。

次のように、CellFormating イベントで月の値を直接変更することをお勧めします。

Private Sub DataGridView1_CellFormatting(sender As Object, e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
    If e.Value IsNot Nothing AndAlso IsNumeric(e.Value) Then
        e.Value = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(e.Value)
    End If
End Sub

このコードをテストしたところ、完全に機能しました。

于 2013-11-04T16:18:19.297 に答える