PC Review


Reply
Thread Tools Rate Thread

DataGrid Cell: Custom Font/Backcolor/Format cell by cell (VB.NET)

 
 
DraguVaso
Guest
Posts: n/a
 
      16th Dec 2003
Hi,

I'm looking for a nice way to format the cell of my datagrid according to
some predefined 'rules'. I found a lot on the site of George shepherd, but
it wasn't really what I was looking for:

I found there: How can I change the font used in a Gridcell on a cell by
cell or row by row basis. Wih this code I am able to change the
Font/Background/... based on the position of the field (column and row). The
problem is: it only changes the font etc, and not the format of it.
http://www.syncfusion.com/FAQ/WinFor...c44c.asp#q927q

Another usefull thing: How can I perform custom formatting on the cells in
my datagrid: This changes the format of a cell: like "1234" becomes "12-34"
and stuff like that.
http://www.syncfusion.com/FAQ/WinFor...c44c.asp#q881q

BUT (and now it comes): I'm not able to make something liek a 'merge' of
these two things. What I actually need is being able to change Font,
Backgroundcolor, Format, etc based on the entire row!!

For example: If the value in one field is zero, another Field has to get
marked in a specific Color (in the same record offcourse).

Anybody got any idea? Or better: A nice working example, or somewhere a
Class that takes care for all this stuff.

Thanks a lot in advance!

Pieter








 
Reply With Quote
 
 
 
 
Nick Harris
Guest
Posts: n/a
 
      17th Dec 2003
To do this, you'd have to do quite of bit of extending of the datagrid and
override some of the draw events to achieve the desired results. When I
looked at the amount of time it would take I ended up buying Infragistics
..NET Advantage 3.0. I downloaded & installed it (5min), and used their
UltraGrid, which has quite a few of these features available during design
time.

I got everything I wanted in about an hour, which included much more complex
logic than you seem to need. As a brief example, I had a cell that I wanted
to color blue of cell 3 and cell 7 if they both equalled "yes". I simply
utilized the Initialize_Row event, which passes in RowEventArgs for each row
as it it retrieved from your datasource and/or class.

From there I could just
/**/
if (e.Row.Cells["ColName3"].Value == "Yes" &&
e.Row.Cells["ColName7"].Value == "Yes")
{
e.Row.Cells["MyCellToHightlightColName"].CellAppearance.BackColor =
System.Drawing.Color.Blue;
}
/**/

or something to that effect.

Hope this helps!

Nick Harris, MCP, CNA, MCSD
Director of Software Services
http://www.VizSoft.net



"DraguVaso" <(E-Mail Removed)> wrote in message
news:3fdf2716$0$16026$(E-Mail Removed)...
> Hi,
>
> I'm looking for a nice way to format the cell of my datagrid according to
> some predefined 'rules'. I found a lot on the site of George shepherd, but
> it wasn't really what I was looking for:
>
> I found there: How can I change the font used in a Gridcell on a cell by
> cell or row by row basis. Wih this code I am able to change the
> Font/Background/... based on the position of the field (column and row).

The
> problem is: it only changes the font etc, and not the format of it.
> http://www.syncfusion.com/FAQ/WinFor...c44c.asp#q927q
>
> Another usefull thing: How can I perform custom formatting on the cells in
> my datagrid: This changes the format of a cell: like "1234" becomes

"12-34"
> and stuff like that.
> http://www.syncfusion.com/FAQ/WinFor...c44c.asp#q881q
>
> BUT (and now it comes): I'm not able to make something liek a 'merge' of
> these two things. What I actually need is being able to change Font,
> Backgroundcolor, Format, etc based on the entire row!!
>
> For example: If the value in one field is zero, another Field has to get
> marked in a specific Color (in the same record offcourse).
>
> Anybody got any idea? Or better: A nice working example, or somewhere a
> Class that takes care for all this stuff.
>
> Thanks a lot in advance!
>
> Pieter
>
>
>
>
>
>
>
>



 
Reply With Quote
 
 
 
 
Ulrich Sprick
Guest
Posts: n/a
 
      23rd Dec 2003
Hi DraguVaso,

if you override the column's Paint method, you should be able to access other fields of the _DataSource_. The necessary information
is passed in the parameters - CurrencyManager and rowNum:

protected override void Paint( Graphics g, Rectangle bounds, CurrencyManager source, int rowNum, bool alignToRight )

In the paint method you have the complete control over the cell painting.
hth, urlich.


"DraguVaso" <(E-Mail Removed)> schrieb im Newsbeitrag news:3fdf2716$0$16026$(E-Mail Removed)...
> Hi,
>
> I'm looking for a nice way to format the cell of my datagrid according to
> some predefined 'rules'. I found a lot on the site of George shepherd, but
> it wasn't really what I was looking for:
>
> I found there: How can I change the font used in a Gridcell on a cell by
> cell or row by row basis. Wih this code I am able to change the
> Font/Background/... based on the position of the field (column and row). The
> problem is: it only changes the font etc, and not the format of it.
> http://www.syncfusion.com/FAQ/WinFor...c44c.asp#q927q
>
> Another usefull thing: How can I perform custom formatting on the cells in
> my datagrid: This changes the format of a cell: like "1234" becomes "12-34"
> and stuff like that.
> http://www.syncfusion.com/FAQ/WinFor...c44c.asp#q881q
>
> BUT (and now it comes): I'm not able to make something liek a 'merge' of
> these two things. What I actually need is being able to change Font,
> Backgroundcolor, Format, etc based on the entire row!!
>
> For example: If the value in one field is zero, another Field has to get
> marked in a specific Color (in the same record offcourse).
>
> Anybody got any idea? Or better: A nice working example, or somewhere a
> Class that takes care for all this stuff.
>
> Thanks a lot in advance!
>
> Pieter
>
>
>
>
>
>
>
>



 
Reply With Quote
 
DraguVaso
Guest
Posts: n/a
 
      23rd Dec 2003
Thanks!

I was indeed able to to this by overriding the paint-method for the colors
etc.
For the formatting of the cells I had to override the
GetcolumnValueAtRow-event.

I found most of these things on the site:
http://www.syncfusion.com/FAQ/WinForms

Thanks anyway!

Pieter



 
Reply With Quote
 
Jan Tielens
Guest
Posts: n/a
 
      6th Jan 2004
If compiled some of the features on the Windows Forms FAQ, plus a lot more,
in my ExtendedDataGrid:
http://dotnet.leadit.be/extendeddatagrid/

It's a free control, so if your intrested: feel free to try it!

--
Greetz,
Jan
__________________________________
Read my weblog: http://weblogs.asp.net/jan
"DraguVaso" <(E-Mail Removed)> schreef in bericht
news:3fe80519$0$5252$(E-Mail Removed)...
> Thanks!
>
> I was indeed able to to this by overriding the paint-method for the colors
> etc.
> For the formatting of the cells I had to override the
> GetcolumnValueAtRow-event.
>
> I found most of these things on the site:
> http://www.syncfusion.com/FAQ/WinForms
>
> Thanks anyway!
>
> Pieter
>
>
>



 
Reply With Quote
 
Ulrich Sprick
Guest
Posts: n/a
 
      7th Jan 2004
Really GREAT!!!

Jan, I've been working on datagrid columnstyles a little bit, too:

http://www.i-syn.gmxhome.de/devcom/colstyles/intro.htm

Perhaps we can join our forces? I'd be delighted!
Cheers,
ulrich



"Jan Tielens" <(E-Mail Removed)> schrieb im Newsbeitrag news:#(E-Mail Removed)...
> If compiled some of the features on the Windows Forms FAQ, plus a lot more,
> in my ExtendedDataGrid:
> http://dotnet.leadit.be/extendeddatagrid/
>
> It's a free control, so if your intrested: feel free to try it!
>
> --
> Greetz,
> Jan
> __________________________________
> Read my weblog: http://weblogs.asp.net/jan
> "DraguVaso" <(E-Mail Removed)> schreef in bericht
> news:3fe80519$0$5252$(E-Mail Removed)...
> > Thanks!
> >
> > I was indeed able to to this by overriding the paint-method for the colors
> > etc.
> > For the formatting of the cells I had to override the
> > GetcolumnValueAtRow-event.
> >
> > I found most of these things on the site:
> > http://www.syncfusion.com/FAQ/WinForms
> >
> > Thanks anyway!
> >
> > Pieter
> >
> >
> >

>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Custom Datagrid problem with a custom property scamp Microsoft Dot NET 0 8th Jun 2005 03:59 PM
Datagrid: Showing and Hiding and image in a datagrid cell. Linda Mason Microsoft C# .NET 0 24th Mar 2004 11:19 PM
DataGrid Cell: Custom Font/Backcolor/Format cell by cell (VB.NET) DraguVaso Microsoft ADO .NET 7 28th Jan 2004 10:04 PM
DataGrid Cell: Custom Font/Backcolor/Format cell by cell (VB.NET) DraguVaso Microsoft VB .NET 2 19th Dec 2003 11:03 PM
Links in web datagrid - letting a user click on a datagrid cell VM Microsoft C# .NET 1 18th Aug 2003 02:23 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 04:09 PM.