|
■No84322 (魔界の仮面弁士 さん) に返信
早速のご回答ありがとうございます。
> (1) "BackColor" フィールドの値を ForeColor プロパティに割り当てるのですか? backcolorではなく文字色をテーブル列に設定なのでForeColorの凡ミスでした。
> (3) row("BackColor") が DataRow と解釈されたようですが、そもそも > row のデータ型は何になっていますか? > row As DataRow や As DataRowView では無いのでしょうか? まさにその通りDataRowです。
> (4) row が As DataRow だとすれば、右辺の型を明示的変換するべきです。たとえば > = row.Field(Of Color)("BackColor") あるいは > = DirectCast(row("BackColor"), Color) のように。
下記のように記述してみたのですが
Dim tbl As DataTable tbl = New DataTable("ColorTable") tbl.Columns.Add("ID", Type.GetType("System.String")) tbl.Columns.Add("Color", GetType(Colors))
Dim row() As DataRow row = tbl.Select("ID = '1'")
DGV1(0, 0).Style.ForeColor = row.Field(Of Color)("Colors") --@ DGV1(0, 0).Style.ForeColor = DirectCast(row("Colors"), Color) --A
@では「FieldはDataRow()のメンバーではありません」 Aではrow("Colors")で「DataRowの値をColorに変換できません」 のエラーとなりました。
もう少し考えてみます。
|