954,595 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Data Grid: How to include Hyperlinks

Hi all,
I have data grid:
In that i have to show different hyperlinks colors with type of memberships.
If gold member then Hyperlink is Green
If Silver member then Hyperlink is Red.
otherwise the Hyperlink shoudl be Blue !!!
How to achieve this is Data grid!!!.

Madhusudhan
Newbie Poster
3 posts since Aug 2005
Reputation Points: 10
Solved Threads: 0
 

try changing the column that has the hyperlink to a template column. then you can go into the (Databindings) property of the hyperlink and set the cssclass based on the type of membership.

For example, add these css classes to your css style sheet:

.gold a:link {color:green;}
.silver a:link {color: red;}
etc...

then you can either add a column to your data table to hold the type of membership or determine it programatically.

for example you can put this in the databinding for the hyperlink:
DataBinder.Eval(Container, "DataItem.memberType")

hope that made sense and helped!

-SelArom

SelArom
Junior Poster in Training
54 posts since Oct 2004
Reputation Points: 20
Solved Threads: 1
 

Hi Madhusudhan,

Your question inspired me to write some in-depth articles on the subject. :eek:

I have dealt with this same problem before. I ultimately created several custom template columns which satisfy most needs.

Adding Simple Columns to DataGrid (BoundColumn and HyperLinkColumn)

A Custom HyperLink Column Example Which Inherits from TemplateColumn

As I demonstrate in the second article you basically have two choices:

1) Perform some preprocessing on your DataTable after filling it from the database and before binding it to the DataGrid. For example, create another column, loop over all the rows and fill the added column with the HTML you want to display. Then you can bind that column to a simple BoundColumn on the Grid.

2) Use TemplateColumns where you have total control. Then once you define your DataGrid columns, there is no preprocessing of your DataTable required. You can bind the table directly to the grid after reading from the database.

If you need a quick and dirty solution, use 1), if you expect to run into this problem again, use 2).

For all the details and my custom link template column, check out the articles.

Cheers,
- Steve

cambia
Newbie Poster
17 posts since Jul 2005
Reputation Points: 10
Solved Threads: 3
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You