[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Angela

2/27/2004 2:41:00 PM

I have a DataGrid with a ButtonColumn of LinkButtons. I want the LinkButtons to have the appearance of a BoundColumn but still be clickable. I don't want to use a HyperlinkColumn because I need the functionality of a button

How can I remove the underline from the LinkButton text when the LinkButton is in a DataGrid?
8 Answers

Scott Mitchell [MVP]

2/27/2004 7:01:00 PM

0

Angela wrote:

> I have a DataGrid with a ButtonColumn of LinkButtons. I want the LinkButtons to have the appearance of a BoundColumn but still be clickable. I don't want to use a HyperlinkColumn because I need the functionality of a button.
>
> How can I remove the underline from the LinkButton text when the LinkButton is in a DataGrid?

Angela, create a CSS class that has its text-decoration set to none.
Then, apply this CSS class to the ButtonColumn, using the techniques
discussed at:
http://datawebcontrols.com/faqs/ButtonColumns/CssClassForBut...

Happy Programming!

--

Scott Mitchell
mitchell@4guysfromrolla.com
http://www.4GuysFro...
http://www.A...
http://www.ASPMessag...

* When you think ASP, think 4GuysFromRolla.com!

Alessandro Zifiglio

2/27/2004 7:11:00 PM

0

Angela, You had asked this same question on the 23rd to which you got a
reply. Think you missed it, heres the link on the groups :

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&threadm=u9s_b.10803%24HO2.9688%40news.edisontel.com&rnum=1&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26q%3Ddatagrid%2Blinkbutton%2Bquestion%26sa%3DN%...

"Scott Mitchell [MVP]" <mitchell@4guysfromrolla.com> wrote in message
news:ntM%b.3584$We3.2533@newssvr27.news.prodigy.com...
> Angela wrote:
>
> > I have a DataGrid with a ButtonColumn of LinkButtons. I want the
LinkButtons to have the appearance of a BoundColumn but still be clickable.
I don't want to use a HyperlinkColumn because I need the functionality of a
button.
> >
> > How can I remove the underline from the LinkButton text when the
LinkButton is in a DataGrid?
>
> Angela, create a CSS class that has its text-decoration set to none.
> Then, apply this CSS class to the ButtonColumn, using the techniques
> discussed at:
> http://datawebcontrols.com/faqs/ButtonColumns/CssClassForBut...
>
> Happy Programming!
>
> --
>
> Scott Mitchell
> mitchell@4guysfromrolla.com
> http://www.4GuysFro...
> http://www.A...
> http://www.ASPMessag...
>
> * When you think ASP, think 4GuysFromRolla.com!


Angela

2/27/2004 7:21:00 PM

0

I have a dynamically created DataGrid, would I still be able to accomplish what I need to using your example? Or would I have to do something different since the DataGrid is dynamic?

v-jetan

2/28/2004 3:48:00 AM

0


Hi Angela,

Thank you for posting in the community!

Based on my understanding, you want to make the linkbutton column in the
datagrid to have no underline.

=========================================
Yes, just use "butTemp.ItemStyle.CssClass = "Buttoncolumn"" will not work.

That is because you just apply the css style on the <td> not the <a>
tag.(You can determine this through View the html source)

Actually, you can get what you want through apply the css style on the
linkbutton web control in the ButtonColumn. So you should hook into the
DataGrid.ItemCreated event, then loop through the columns and controls to
find the LinkButton control. Then apply the style sheet.

I have writen a sample code for you:

<STYLE TYPE="text/css">
.Buttoncolumn { color: darkred; font-size:14pt; text-decoration: none}
/* unvisited link */
.Buttoncolumn:visited { color: indianred; text-decoration: none}
/*visited link */
.Buttoncolumn:active { color: gold;text-decoration: none } /* active
link */
.Buttoncolumn:hover { color: darkgreen; text-decoration: none} /*hover
or mousover link */
</STYLE>

protected System.Web.UI.HtmlControls.HtmlForm Form1;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
SqlDataAdapter adapter=new SqlDataAdapter("select * from
jobs","server=localhost;database=pubs;uid=sa;pwd=");
DataSet ds=new DataSet();
adapter.Fill(ds);

DataGrid dg=new DataGrid();
ButtonColumn bc=new ButtonColumn();
//bc.ItemStyle.CssClass="Buttoncolumn";
bc.ButtonType=ButtonColumnType.LinkButton;
bc.Text="LinkButton";

dg.ItemCreated +=new DataGridItemEventHandler(dg_ItemCreated);

dg.Columns.Add(bc);

dg.DataSource=ds;
dg.DataBind();

Form1.Controls.Add(dg);
}
}

private void dg_ItemCreated(object sender, DataGridItemEventArgs e)
{

if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.Alterna
tingItem)
{
DataGridItem dgi=e.Item as DataGridItem;
foreach(Control c in dgi.Cells[0].Controls)
{
if(c is LinkButton)
{
LinkButton lb=c as LinkButton;
lb.CssClass="Buttoncolumn";
}
}
}
}

It will work well.
Note: in the css style sheet, I add "text-decoration: none" to the
unvisited link, which will make the unvisited link have no underline.

==================================================
Please apply my suggestion above and let me know if it helps resolve your
problem.

Thank you for your patience and cooperation. If you have any questions or
concerns, please feel free to post it in the group. I am standing by to be
of assistance.
Have a nice weekend!!

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Alessandro Zifiglio

2/28/2004 1:32:00 PM

0

Angela, as an alternative to Jeffery's example, an easier way to go about
it, is to slightly modify the css i had posted. Just like Jeffery stated,
the css gets applied to the table cell(td) and not the hyperlink(a) anchor
element in itself. CSS Psuedo-elements are very flexible and the following
*modified*
sample will work for you :

<STYLE TYPE="text/css">
.Buttoncolumn td, a:link{ color: darkred; font-size:14pt; text-decoration:
none } /* unvisited link */
.Buttoncolumn td, a:visited { color: indianred; text-decoration: none}
/* visited link */
.Buttoncolumn td, a:active { color: gold;text-decoration: none } /*
active link */
.Buttoncolumn td, a:hover { color: darkgreen; text-decoration: none}
/* hover or mousover link */
</STYLE>

Now apply the css class "Buttoncolumn" to your LinkButton

butTemp.ItemStyle.CssClass = "Buttoncolumn"



"""Jeffrey Tan[MSFT]""" <v-jetan@online.microsoft.com> wrote in message
news:o497n2a$DHA.2872@cpmsftngxa06.phx.gbl...
>
> Hi Angela,
>
> Thank you for posting in the community!
>
> Based on my understanding, you want to make the linkbutton column in the
> datagrid to have no underline.
>
> =========================================
> Yes, just use "butTemp.ItemStyle.CssClass = "Buttoncolumn"" will not work.
>
> That is because you just apply the css style on the <td> not the <a>
> tag.(You can determine this through View the html source)
>
> Actually, you can get what you want through apply the css style on the
> linkbutton web control in the ButtonColumn. So you should hook into the
> DataGrid.ItemCreated event, then loop through the columns and controls to
> find the LinkButton control. Then apply the style sheet.
>
> I have writen a sample code for you:
>
> <STYLE TYPE="text/css">
> .Buttoncolumn { color: darkred; font-size:14pt; text-decoration: none}
> /* unvisited link */
> .Buttoncolumn:visited { color: indianred; text-decoration: none}
> /*visited link */
> .Buttoncolumn:active { color: gold;text-decoration: none } /* active
> link */
> .Buttoncolumn:hover { color: darkgreen; text-decoration: none} /*hover
> or mousover link */
> </STYLE>
>
> protected System.Web.UI.HtmlControls.HtmlForm Form1;
> private void Page_Load(object sender, System.EventArgs e)
> {
> if(!IsPostBack)
> {
> SqlDataAdapter adapter=new SqlDataAdapter("select * from
> jobs","server=localhost;database=pubs;uid=sa;pwd=");
> DataSet ds=new DataSet();
> adapter.Fill(ds);
>
> DataGrid dg=new DataGrid();
> ButtonColumn bc=new ButtonColumn();
> //bc.ItemStyle.CssClass="Buttoncolumn";
> bc.ButtonType=ButtonColumnType.LinkButton;
> bc.Text="LinkButton";
>
> dg.ItemCreated +=new DataGridItemEventHandler(dg_ItemCreated);
>
> dg.Columns.Add(bc);
>
> dg.DataSource=ds;
> dg.DataBind();
>
> Form1.Controls.Add(dg);
> }
> }
>
> private void dg_ItemCreated(object sender, DataGridItemEventArgs e)
> {
>
>
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.Alterna
> tingItem)
> {
> DataGridItem dgi=e.Item as DataGridItem;
> foreach(Control c in dgi.Cells[0].Controls)
> {
> if(c is LinkButton)
> {
> LinkButton lb=c as LinkButton;
> lb.CssClass="Buttoncolumn";
> }
> }
> }
> }
>
> It will work well.
> Note: in the css style sheet, I add "text-decoration: none" to the
> unvisited link, which will make the unvisited link have no underline.
>
> ==================================================
> Please apply my suggestion above and let me know if it helps resolve your
> problem.
>
> Thank you for your patience and cooperation. If you have any questions or
> concerns, please feel free to post it in the group. I am standing by to be
> of assistance.
> Have a nice weekend!!
>
> Best regards,
> Jeffrey Tan
> Microsoft Online Partner Support
> Get Secure! - www.microsoft.com/security
> This posting is provided "as is" with no warranties and confers no rights.
>



Alessandro Zifiglio

2/28/2004 1:33:00 PM

0

Angela, as an alternative to Jeffery's example, an easier way to go about
it is to slightly modify the css i had posted. Just like Jeffery stated,
the css gets applied to the table cell(td) and not the hyperlink(a) anchor
element in itself. CSS Psuedo-elements are very flexible and the following
*modified*
sample will work for you :

<STYLE TYPE="text/css">
.Buttoncolumn td, a:link{ color: darkred; font-size:14pt; text-decoration:
none } /* unvisited link */
.Buttoncolumn td, a:visited { color: indianred; text-decoration: none}
/* visited link */
.Buttoncolumn td, a:active { color: gold;text-decoration: none } /*
active link */
.Buttoncolumn td, a:hover { color: darkgreen; text-decoration: none}
/* hover or mousover link */
</STYLE>

Now apply the css class "Buttoncolumn" to your LinkButton

butTemp.ItemStyle.CssClass = "Buttoncolumn"
"""Jeffrey Tan[MSFT]""" <v-jetan@online.microsoft.com> wrote in message
news:o497n2a$DHA.2872@cpmsftngxa06.phx.gbl...
>
> Hi Angela,
>
> Thank you for posting in the community!
>
> Based on my understanding, you want to make the linkbutton column in the
> datagrid to have no underline.
>
> =========================================
> Yes, just use "butTemp.ItemStyle.CssClass = "Buttoncolumn"" will not work.
>
> That is because you just apply the css style on the <td> not the <a>
> tag.(You can determine this through View the html source)
>
> Actually, you can get what you want through apply the css style on the
> linkbutton web control in the ButtonColumn. So you should hook into the
> DataGrid.ItemCreated event, then loop through the columns and controls to
> find the LinkButton control. Then apply the style sheet.
>
> I have writen a sample code for you:
>
> <STYLE TYPE="text/css">
> .Buttoncolumn { color: darkred; font-size:14pt; text-decoration: none}
> /* unvisited link */
> .Buttoncolumn:visited { color: indianred; text-decoration: none}
> /*visited link */
> .Buttoncolumn:active { color: gold;text-decoration: none } /* active
> link */
> .Buttoncolumn:hover { color: darkgreen; text-decoration: none} /*hover
> or mousover link */
> </STYLE>
>
> protected System.Web.UI.HtmlControls.HtmlForm Form1;
> private void Page_Load(object sender, System.EventArgs e)
> {
> if(!IsPostBack)
> {
> SqlDataAdapter adapter=new SqlDataAdapter("select * from
> jobs","server=localhost;database=pubs;uid=sa;pwd=");
> DataSet ds=new DataSet();
> adapter.Fill(ds);
>
> DataGrid dg=new DataGrid();
> ButtonColumn bc=new ButtonColumn();
> //bc.ItemStyle.CssClass="Buttoncolumn";
> bc.ButtonType=ButtonColumnType.LinkButton;
> bc.Text="LinkButton";
>
> dg.ItemCreated +=new DataGridItemEventHandler(dg_ItemCreated);
>
> dg.Columns.Add(bc);
>
> dg.DataSource=ds;
> dg.DataBind();
>
> Form1.Controls.Add(dg);
> }
> }
>
> private void dg_ItemCreated(object sender, DataGridItemEventArgs e)
> {
>
>
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.Alterna
> tingItem)
> {
> DataGridItem dgi=e.Item as DataGridItem;
> foreach(Control c in dgi.Cells[0].Controls)
> {
> if(c is LinkButton)
> {
> LinkButton lb=c as LinkButton;
> lb.CssClass="Buttoncolumn";
> }
> }
> }
> }
>
> It will work well.
> Note: in the css style sheet, I add "text-decoration: none" to the
> unvisited link, which will make the unvisited link have no underline.
>
> ==================================================
> Please apply my suggestion above and let me know if it helps resolve your
> problem.
>
> Thank you for your patience and cooperation. If you have any questions or
> concerns, please feel free to post it in the group. I am standing by to be
> of assistance.
> Have a nice weekend!!
>
> Best regards,
> Jeffrey Tan
> Microsoft Online Partner Support
> Get Secure! - www.microsoft.com/security
> This posting is provided "as is" with no warranties and confers no rights.
>


Alessandro Zifiglio

3/1/2004 7:11:00 AM

0

oops --AUTO-CORRECTION --please use the following correction ;p

<style type="text/css">
..Buttoncolumn td, td a:link {
font-size: 14pt; color: darkred; text-decoration: none
}
.Buttoncolumn td, td a:visited{
color: indianred; text-decoration: none
}
.Buttoncolumn td, td a:active {
color: gold; text-decoration: none
}
..Buttoncolumn td, td a:hover{
color: darkgreen; text-decoration: none
}
</style>
--------------------------------------------
butTemp.ItemStyle.CssClass = "Buttoncolumn"

"Alessandro Zifiglio" <alessandrozifiglio@NO-SPAM-hotmail.com> wrote in
message news:LR00c.12771$HO2.8746@news.edisontel.com...
> Angela, as an alternative to Jeffery's example, an easier way to go about
> it is to slightly modify the css i had posted. Just like Jeffery stated,
> the css gets applied to the table cell(td) and not the hyperlink(a) anchor
> element in itself. CSS Psuedo-elements are very flexible and the following
> *modified*
> sample will work for you :
>
> <STYLE TYPE="text/css">
> .Buttoncolumn td, a:link{ color: darkred; font-size:14pt;
text-decoration:
> none } /* unvisited link */
> .Buttoncolumn td, a:visited { color: indianred; text-decoration: none}
> /* visited link */
> .Buttoncolumn td, a:active { color: gold;text-decoration: none } /*
> active link */
> .Buttoncolumn td, a:hover { color: darkgreen; text-decoration: none}
> /* hover or mousover link */
> </STYLE>
>
> Now apply the css class "Buttoncolumn" to your LinkButton
>
> butTemp.ItemStyle.CssClass = "Buttoncolumn"
> """Jeffrey Tan[MSFT]""" <v-jetan@online.microsoft.com> wrote in message
> news:o497n2a$DHA.2872@cpmsftngxa06.phx.gbl...
> >
> > Hi Angela,
> >
> > Thank you for posting in the community!
> >
> > Based on my understanding, you want to make the linkbutton column in the
> > datagrid to have no underline.
> >
> > =========================================
> > Yes, just use "butTemp.ItemStyle.CssClass = "Buttoncolumn"" will not
work.
> >
> > That is because you just apply the css style on the <td> not the <a>
> > tag.(You can determine this through View the html source)
> >
> > Actually, you can get what you want through apply the css style on the
> > linkbutton web control in the ButtonColumn. So you should hook into the
> > DataGrid.ItemCreated event, then loop through the columns and controls
to
> > find the LinkButton control. Then apply the style sheet.
> >
> > I have writen a sample code for you:
> >
> > <STYLE TYPE="text/css">
> > .Buttoncolumn { color: darkred; font-size:14pt; text-decoration: none}
> > /* unvisited link */
> > .Buttoncolumn:visited { color: indianred; text-decoration: none}
> > /*visited link */
> > .Buttoncolumn:active { color: gold;text-decoration: none } /* active
> > link */
> > .Buttoncolumn:hover { color: darkgreen; text-decoration: none}
/*hover
> > or mousover link */
> > </STYLE>
> >
> > protected System.Web.UI.HtmlControls.HtmlForm Form1;
> > private void Page_Load(object sender, System.EventArgs e)
> > {
> > if(!IsPostBack)
> > {
> > SqlDataAdapter adapter=new SqlDataAdapter("select * from
> > jobs","server=localhost;database=pubs;uid=sa;pwd=");
> > DataSet ds=new DataSet();
> > adapter.Fill(ds);
> >
> > DataGrid dg=new DataGrid();
> > ButtonColumn bc=new ButtonColumn();
> > //bc.ItemStyle.CssClass="Buttoncolumn";
> > bc.ButtonType=ButtonColumnType.LinkButton;
> > bc.Text="LinkButton";
> >
> > dg.ItemCreated +=new DataGridItemEventHandler(dg_ItemCreated);
> >
> > dg.Columns.Add(bc);
> >
> > dg.DataSource=ds;
> > dg.DataBind();
> >
> > Form1.Controls.Add(dg);
> > }
> > }
> >
> > private void dg_ItemCreated(object sender, DataGridItemEventArgs e)
> > {
> >
> >
>
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.Alterna
> > tingItem)
> > {
> > DataGridItem dgi=e.Item as DataGridItem;
> > foreach(Control c in dgi.Cells[0].Controls)
> > {
> > if(c is LinkButton)
> > {
> > LinkButton lb=c as LinkButton;
> > lb.CssClass="Buttoncolumn";
> > }
> > }
> > }
> > }
> >
> > It will work well.
> > Note: in the css style sheet, I add "text-decoration: none" to the
> > unvisited link, which will make the unvisited link have no underline.
> >
> > ==================================================
> > Please apply my suggestion above and let me know if it helps resolve
your
> > problem.
> >
> > Thank you for your patience and cooperation. If you have any questions
or
> > concerns, please feel free to post it in the group. I am standing by to
be
> > of assistance.
> > Have a nice weekend!!
> >
> > Best regards,
> > Jeffrey Tan
> > Microsoft Online Partner Support
> > Get Secure! - www.microsoft.com/security
> > This posting is provided "as is" with no warranties and confers no
rights.
> >
>
>


v-jetan

3/2/2004 7:03:00 AM

0


Hi Angela,

Is your problem resolved? I think my reply and Alessandro's solution both
work for you.

If you still have any concern, please feel free to feedback.

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.