Re: How to format individual cells or rows of a VB.NET DataGrid?



Hi Richard,

You can do this by inheriting DataGridTextBoxColumn and overriding the Paint
method to conditionally
change the cell format. Here is an example that colors cells based on their
value:

Public Class DataGridColoredTextBoxColumn
Inherits DataGridTextBoxColumn
Public Sub New()
End Sub
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)

Try
Dim o As Object
o = Me.GetColumnValueAtRow(source, rowNum)
If (Not (o) Is Nothing) Then
Dim c As Char
c = CType(o, String).Substring(0, 1)
If (c = "Test") Then

backBrush = new SolidBrush(Color.Red);
foreBrush= new SolidBrush(Color.White);
End If
End If
Catch ex As Exception
' empty catch
Finally
MyBase.Paint(g, bounds, source, rowNum, backBrush,
foreBrush, alignToRight)
End Try
End Sub
End Class

Hope this helps.
Thanks
Mona[Grapecity]



"Richard" <Richard@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:82420575-F20B-45D0-8D4A-641E1CBD87B8@xxxxxxxxxxxxxxxx
>I know that you can format a grid and its columns using DataGridTableStyle
> and DataGridTextBoxColumn in VB.NET. But can you change the format of the
> individual rows, or even cells, to something other than the default?
>
> For instance, I have a datagrid displaying a list of products in stock. I
> want to highlight the products in red if the product is out of stock. How
> should I implement this?
>
> Please let me know if you have the answer. Thanks.


.



Relevant Pages

  • Re: How to format individual cells or rows of a VB.NET DataGrid?
    ... How do I change the format of other cells on the same ... As in your example, if the first cell of current row contains "Test", the ... > You can do this by inheriting DataGridTextBoxColumn and overriding the Paint ...
    (microsoft.public.dotnet.general)
  • RE: DatTime formattingion datagrids
    ... the quesiton is: how to show datetime format as ... classes by default: the DataGridTextBoxColumn and DataGridBoolColumn ... This posting is provided "AS IS" with no warranties, ...
    (microsoft.public.dotnet.distributed_apps)
  • Re: Still Need Help
    ... samples I found I added datagridtablestyle formatting to each grid. ... the format subroutines are only executed once. ... Dim Col1 As New DataColumn ... Dim objSchedClassCol As New DataGridTextBoxColumn ...
    (microsoft.public.dotnet.framework.windowsforms.controls)
  • Re: Question for experts
    ... > its GridColumnStyle to a DataGridTextBoxColumn. ... Then set the Format property ... See class DateTimeFormatInfo. ... >> i have dataGrid and one of the cell contains date. ...
    (microsoft.public.dotnet.languages.csharp)
  • Q: Formatting a column in a DataGrid
    ... which I was displaying in a DataGrid. ... Dim aColumn1 As New DataGridTextBoxColumn ... The column with the date/time has .Format set to the correct type to ...
    (microsoft.public.dotnet.languages.vb)