DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGlidのセル内の文字色を赤に変えるには?

環境/言語:[環境(Windows2000 )使用言語(VB.NET)]
分類:[.NET]

恐れ入ります。

DataGlidのセル内の文字色を赤に変えるにはどうしたら良いのでしょう?

ご存知の方是非教えて下さい。m(_ _)m
宜しくお願い致します。m(_ _)m
こんにちは、こうさん。

■No7100に返信(こうさんの記事)
> 恐れ入ります。
>
> DataGlidのセル内の文字色を赤に変えるにはどうしたら良いのでしょう?
>
> ご存知の方是非教えて下さい。m(_ _)m
> 宜しくお願い致します。m(_ _)m

こういうことじゃないのでしょうか?
http://dobon.net/vb/dotnet/datagrid/coloredcell.html

あと、これは形だけのフィードバックに見えるのですが、
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al2&namber=7060&rev=&no=0

書き込みのマナーについて
http://dobon.net/vb/bbs/index.html#feedback

> このルールの意味を解さず、守ったふりをするために、
> 新たに質問を投稿する直前に昔の投稿に形だけのフィードバックをする人がいますが、
> このような行為は全く意味がありませんのでやめてください。
> (古いスレッドが無意味に先頭に上がり、逆に迷惑です。)
すみませんでしたm(_ _)m
掲示板なれてなくて・・
勉強します。m(_ _)m
■No7106に返信(こうさんの記事)
> すみませんでしたm(_ _)m
> 掲示板なれてなくて・・
> 勉強します。m(_ _)m

まあ、それはこれから気をつけていけば良いと思いますが、

> > こういうことじゃないのでしょうか?
> > http://dobon.net/vb/dotnet/datagrid/coloredcell.html

それより、[↑]の件で解決できましたか?
私はそちらの方が心配で...。

<関係ない話>
 そういえば、「ぺがらぼ」さんが、こうさんのことを探していました。
 かなり前の話なので、もう遅いかもしれませんが。
</関係ない話>
ご連絡有難う御座いました。m(_ _)m

色々周りにも相談して解決しました。

詳しく申しますと、計算ボタンが有り、Glidの中の数量フィールドと単価フィールド
の掛けた合計が金額フィールドと違う値なら計算ボタン押下時に赤文字にしたくて
相談しました。
下記のコードで解決しました。


Private sub 計算ボタン
合計 = 数量X単価
         If 合計 <> 金額 Then
金額 = " " & 金額.ToString.Trim
   End If
End Sub


Public Class MyDataGridTextBoxColumn
Inherits DataGridTextBoxColumn
'Paintメソッドをオーバーライドする
Protected Overloads Overrides Sub Paint( _
ByVal g As Graphics, _
ByVal bounds As Rectangle, _
ByVal source As CurrencyManager, _
ByVal rowNum As Integer, _
ByVal backBrush As Brush, _
ByVal foreBrush As Brush, _
ByVal alignToRight As Boolean _
)

'セルの値を取得する
Dim cellValue As Object = _
Me.GetColumnValueAtRow(source, rowNum)
If Not cellValue Is Nothing Then
'値が違うのセルの文字色を変える
If CType(cellValue, String).IndexOf(" ") <> -1 Then
foreBrush = New SolidBrush(Color.Red)
End If
End If
'基本クラスのPaintメソッドを呼び出す
MyBase.Paint(g, bounds, source, rowNum, _
backBrush, foreBrush, alignToRight)
End Sub
End Class
End Class
■No7109に返信(こうさんの記事)
> ご連絡有難う御座いました。m(_ _)m
>
> 色々周りにも相談して解決しました。
>
> 詳しく申しますと、計算ボタンが有り、Glidの中の数量フィールドと単価フィールド
> の掛けた合計が金額フィールドと違う値なら計算ボタン押下時に赤文字にしたくて
> 相談しました。
> 下記のコードで解決しました。
>
>
> Private sub 計算ボタン
> 合計 = 数量X単価
>          If 合計 <> 金額 Then
> 金額 = " " & 金額.ToString.Trim
>    End If
> End Sub
>
>
> Public Class MyDataGridTextBoxColumn
> Inherits DataGridTextBoxColumn
> 'Paintメソッドをオーバーライドする
> Protected Overloads Overrides Sub Paint( _
> ByVal g As Graphics, _
> ByVal bounds As Rectangle, _
> ByVal source As CurrencyManager, _
> ByVal rowNum As Integer, _
> ByVal backBrush As Brush, _
> ByVal foreBrush As Brush, _
> ByVal alignToRight As Boolean _
> )
>
> 'セルの値を取得する
> Dim cellValue As Object = _
> Me.GetColumnValueAtRow(source, rowNum)
> If Not cellValue Is Nothing Then
> '値が違うのセルの文字色を変える
> If CType(cellValue, String).IndexOf(" ") <> -1 Then
> foreBrush = New SolidBrush(Color.Red)
> End If
> End If
> '基本クラスのPaintメソッドを呼び出す
> MyBase.Paint(g, bounds, source, rowNum, _
> backBrush, foreBrush, alignToRight)
> End Sub
> End Class
> End Class
>
>
>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板