471,316 Members | 1,304 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,316 software developers and data experts.

How to assign a column of URLs to Hyperlink Column of a DataGrid c

Hi, all:
I need a help from you about DataGrid control.
I created a DataGrid, dg, in design view of .NET visual Stadio and use the
builder to add a Hyperlink column to dg.
I want to try to assign a column of URLs to this hyperlink column in
programming way (ie., dynamically assignment). However, I can not find a way
to continue doing it.

Do you have ideas about it? Thanks.

David
Nov 19 '05 #1
10 1808
On Fri, 14 Oct 2005 08:53:14 -0700, david wrote:
Hi, all:
I need a help from you about DataGrid control.
I created a DataGrid, dg, in design view of .NET visual Stadio and use the
builder to add a Hyperlink column to dg.
I want to try to assign a column of URLs to this hyperlink column in
programming way (ie., dynamically assignment). However, I can not find a way
to continue doing it.

Do you have ideas about it? Thanks.

David

Let's assume that you have the list in the dataset, dataview, array. You
can use DataBinding to provide your grid with values. For a good article:
http://www.codeproject.com/aspnet/Ma...ataBinding.asp

Nov 19 '05 #2
HI David,

In DataGrid_ItemDataBound event:

HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
link.NavigateUrl = getURL();

HTH

Elton Wang

"david" wrote:
Hi, all:
I need a help from you about DataGrid control.
I created a DataGrid, dg, in design view of .NET visual Stadio and use the
builder to add a Hyperlink column to dg.
I want to try to assign a column of URLs to this hyperlink column in
programming way (ie., dynamically assignment). However, I can not find a way
to continue doing it.

Do you have ideas about it? Thanks.

David

Nov 19 '05 #3
Thank you.

It is not completely clear to me. For example, I have a list of URLs, called
URLs which is a column of a dataset, and I have a column of hyperlink column,
link, in the datagrid, dg. Assume that these two columns have the same size.
In the design view, I have left the URL box empty for the hyperlink column in
the property builder.

Now in the code behide, I try to fill in the URL box (property item) for
each hyperlink column item after I got the list of URLs. Can I do the
following:

dg.Columns("link") = URLs

Does it make sense?

David
"Elton W" wrote:
HI David,

In DataGrid_ItemDataBound event:

HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
link.NavigateUrl = getURL();

HTH

Elton Wang

"david" wrote:
Hi, all:
I need a help from you about DataGrid control.
I created a DataGrid, dg, in design view of .NET visual Stadio and use the
builder to add a Hyperlink column to dg.
I want to try to assign a column of URLs to this hyperlink column in
programming way (ie., dynamically assignment). However, I can not find a way
to continue doing it.

Do you have ideas about it? Thanks.

David

Nov 19 '05 #4
You need bind datagrid with data source:

dg.DataSource = dataSourceObject
dg.DataBind()

And specify link column's binding field:

Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )
linkCol.DataTextField = "URL_FIELD_NAME"

Or in DataGrid_ItemDataBound event:

using DataRowView object (e.Item.DataItem)

Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
HyperLink link = CType(e.Item.Cells(link_Column_index).Controls(0), HyperLink)
link.NavigateUrl = drv("URL_FIELD_NAME").ToString

HTH


"david" wrote:
Thank you.

It is not completely clear to me. For example, I have a list of URLs, called
URLs which is a column of a dataset, and I have a column of hyperlink column,
link, in the datagrid, dg. Assume that these two columns have the same size.
In the design view, I have left the URL box empty for the hyperlink column in
the property builder.

Now in the code behide, I try to fill in the URL box (property item) for
each hyperlink column item after I got the list of URLs. Can I do the
following:

dg.Columns("link") = URLs

Does it make sense?

David
"Elton W" wrote:
HI David,

In DataGrid_ItemDataBound event:

HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
link.NavigateUrl = getURL();

HTH

Elton Wang

"david" wrote:
Hi, all:
I need a help from you about DataGrid control.
I created a DataGrid, dg, in design view of .NET visual Stadio and use the
builder to add a Hyperlink column to dg.
I want to try to assign a column of URLs to this hyperlink column in
programming way (ie., dynamically assignment). However, I can not find a way
to continue doing it.

Do you have ideas about it? Thanks.

David

Nov 19 '05 #5
thanks

I will try it.

David

"Elton W" wrote:
You need bind datagrid with data source:

dg.DataSource = dataSourceObject
dg.DataBind()

And specify link column's binding field:

Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )
linkCol.DataTextField = "URL_FIELD_NAME"

Or in DataGrid_ItemDataBound event:

using DataRowView object (e.Item.DataItem)

Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
HyperLink link = CType(e.Item.Cells(link_Column_index).Controls(0), HyperLink)
link.NavigateUrl = drv("URL_FIELD_NAME").ToString

HTH


"david" wrote:
Thank you.

It is not completely clear to me. For example, I have a list of URLs, called
URLs which is a column of a dataset, and I have a column of hyperlink column,
link, in the datagrid, dg. Assume that these two columns have the same size.
In the design view, I have left the URL box empty for the hyperlink column in
the property builder.

Now in the code behide, I try to fill in the URL box (property item) for
each hyperlink column item after I got the list of URLs. Can I do the
following:

dg.Columns("link") = URLs

Does it make sense?

David
"Elton W" wrote:
HI David,

In DataGrid_ItemDataBound event:

HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
link.NavigateUrl = getURL();

HTH

Elton Wang

"david" wrote:

> Hi, all:
> I need a help from you about DataGrid control.
> I created a DataGrid, dg, in design view of .NET visual Stadio and use the
> builder to add a Hyperlink column to dg.
> I want to try to assign a column of URLs to this hyperlink column in
> programming way (ie., dynamically assignment). However, I can not find a way
> to continue doing it.
>
> Do you have ideas about it? Thanks.
>
> David

Nov 19 '05 #6
You can also look at following URL:

http://msdn.microsoft.com/library/de...tringtopic.asp

HTH

"david" wrote:
thanks

I will try it.

David

"Elton W" wrote:
You need bind datagrid with data source:

dg.DataSource = dataSourceObject
dg.DataBind()

And specify link column's binding field:

Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )
linkCol.DataTextField = "URL_FIELD_NAME"

Or in DataGrid_ItemDataBound event:

using DataRowView object (e.Item.DataItem)

Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
HyperLink link = CType(e.Item.Cells(link_Column_index).Controls(0), HyperLink)
link.NavigateUrl = drv("URL_FIELD_NAME").ToString

HTH


"david" wrote:
Thank you.

It is not completely clear to me. For example, I have a list of URLs, called
URLs which is a column of a dataset, and I have a column of hyperlink column,
link, in the datagrid, dg. Assume that these two columns have the same size.
In the design view, I have left the URL box empty for the hyperlink column in
the property builder.

Now in the code behide, I try to fill in the URL box (property item) for
each hyperlink column item after I got the list of URLs. Can I do the
following:

dg.Columns("link") = URLs

Does it make sense?

David
"Elton W" wrote:

> HI David,
>
> In DataGrid_ItemDataBound event:
>
> HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
> link.NavigateUrl = getURL();
>
> HTH
>
> Elton Wang
>
>
>
> "david" wrote:
>
> > Hi, all:
> > I need a help from you about DataGrid control.
> > I created a DataGrid, dg, in design view of .NET visual Stadio and use the
> > builder to add a Hyperlink column to dg.
> > I want to try to assign a column of URLs to this hyperlink column in
> > programming way (ie., dynamically assignment). However, I can not find a way
> > to continue doing it.
> >
> > Do you have ideas about it? Thanks.
> >
> > David

Nov 19 '05 #7
By the way, what does it mean by 0 in
HyperLink link = CType(e.Item.Cells(link_Column_index).Controls(0),
HyperLink) ?

Why use 0 in Control(0)? Can you explain this line of code?

Thanks

David

"Elton W" wrote:
You can also look at following URL:

http://msdn.microsoft.com/library/de...tringtopic.asp

HTH

"david" wrote:
thanks

I will try it.

David

"Elton W" wrote:
You need bind datagrid with data source:

dg.DataSource = dataSourceObject
dg.DataBind()

And specify link column's binding field:

Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )
linkCol.DataTextField = "URL_FIELD_NAME"

Or in DataGrid_ItemDataBound event:

using DataRowView object (e.Item.DataItem)

Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
HyperLink link = CType(e.Item.Cells(link_Column_index).Controls(0), HyperLink)
link.NavigateUrl = drv("URL_FIELD_NAME").ToString

HTH


"david" wrote:

> Thank you.
>
> It is not completely clear to me. For example, I have a list of URLs, called
> URLs which is a column of a dataset, and I have a column of hyperlink column,
> link, in the datagrid, dg. Assume that these two columns have the same size.
> In the design view, I have left the URL box empty for the hyperlink column in
> the property builder.
>
> Now in the code behide, I try to fill in the URL box (property item) for
> each hyperlink column item after I got the list of URLs. Can I do the
> following:
>
> dg.Columns("link") = URLs
>
> Does it make sense?
>
> David
>
>
> "Elton W" wrote:
>
> > HI David,
> >
> > In DataGrid_ItemDataBound event:
> >
> > HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
> > link.NavigateUrl = getURL();
> >
> > HTH
> >
> > Elton Wang
> >
> >
> >
> > "david" wrote:
> >
> > > Hi, all:
> > > I need a help from you about DataGrid control.
> > > I created a DataGrid, dg, in design view of .NET visual Stadio and use the
> > > builder to add a Hyperlink column to dg.
> > > I want to try to assign a column of URLs to this hyperlink column in
> > > programming way (ie., dynamically assignment). However, I can not find a way
> > > to continue doing it.
> > >
> > > Do you have ideas about it? Thanks.
> > >
> > > David

Nov 19 '05 #8
In a cell, there are one or more control(s), e.g. you can put a label and a
textbox or even just a white space (treated as Literal control).
Hence, cell.Controls(0) means first control, in your case Hyperlink control.
"david" wrote:
Hi, all:
I need a help from you about DataGrid control.
I created a DataGrid, dg, in design view of .NET visual Stadio and use the
builder to add a Hyperlink column to dg.
I want to try to assign a column of URLs to this hyperlink column in
programming way (ie., dynamically assignment). However, I can not find a way
to continue doing it.

Do you have ideas about it? Thanks.

David

Nov 19 '05 #9
Hi, Elton:

in your sample code,
Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )

The link_index means the column index such as 0, 1, and so on, is that right?

Thanks

David
"Elton W" wrote:
You need bind datagrid with data source:

dg.DataSource = dataSourceObject
dg.DataBind()

And specify link column's binding field:

Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )
linkCol.DataTextField = "URL_FIELD_NAME"

Or in DataGrid_ItemDataBound event:

using DataRowView object (e.Item.DataItem)

Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
HyperLink link = CType(e.Item.Cells(link_Column_index).Controls(0), HyperLink)
link.NavigateUrl = drv("URL_FIELD_NAME").ToString

HTH


"david" wrote:
Thank you.

It is not completely clear to me. For example, I have a list of URLs, called
URLs which is a column of a dataset, and I have a column of hyperlink column,
link, in the datagrid, dg. Assume that these two columns have the same size.
In the design view, I have left the URL box empty for the hyperlink column in
the property builder.

Now in the code behide, I try to fill in the URL box (property item) for
each hyperlink column item after I got the list of URLs. Can I do the
following:

dg.Columns("link") = URLs

Does it make sense?

David
"Elton W" wrote:
HI David,

In DataGrid_ItemDataBound event:

HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
link.NavigateUrl = getURL();

HTH

Elton Wang

"david" wrote:

> Hi, all:
> I need a help from you about DataGrid control.
> I created a DataGrid, dg, in design view of .NET visual Stadio and use the
> builder to add a Hyperlink column to dg.
> I want to try to assign a column of URLs to this hyperlink column in
> programming way (ie., dynamically assignment). However, I can not find a way
> to continue doing it.
>
> Do you have ideas about it? Thanks.
>
> David

Nov 19 '05 #10
Yes

"david" wrote:
Hi, Elton:

in your sample code,
Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )

The link_index means the column index such as 0, 1, and so on, is that right?

Thanks

David
"Elton W" wrote:
You need bind datagrid with data source:

dg.DataSource = dataSourceObject
dg.DataBind()

And specify link column's binding field:

Dim linkCol As HyperLinkColumn = CType(dg.Columns(link_index),
HyperLinkColumn )
linkCol.DataTextField = "URL_FIELD_NAME"

Or in DataGrid_ItemDataBound event:

using DataRowView object (e.Item.DataItem)

Dim drv As DataRowView = CType(e.Item.DataItem, DataRowView)
HyperLink link = CType(e.Item.Cells(link_Column_index).Controls(0), HyperLink)
link.NavigateUrl = drv("URL_FIELD_NAME").ToString

HTH


"david" wrote:
Thank you.

It is not completely clear to me. For example, I have a list of URLs, called
URLs which is a column of a dataset, and I have a column of hyperlink column,
link, in the datagrid, dg. Assume that these two columns have the same size.
In the design view, I have left the URL box empty for the hyperlink column in
the property builder.

Now in the code behide, I try to fill in the URL box (property item) for
each hyperlink column item after I got the list of URLs. Can I do the
following:

dg.Columns("link") = URLs

Does it make sense?

David
"Elton W" wrote:

> HI David,
>
> In DataGrid_ItemDataBound event:
>
> HyperLink link = (HyperLink)e.Item.Cells[link_Column_index].Controls[0];
> link.NavigateUrl = getURL();
>
> HTH
>
> Elton Wang
>
>
>
> "david" wrote:
>
> > Hi, all:
> > I need a help from you about DataGrid control.
> > I created a DataGrid, dg, in design view of .NET visual Stadio and use the
> > builder to add a Hyperlink column to dg.
> > I want to try to assign a column of URLs to this hyperlink column in
> > programming way (ie., dynamically assignment). However, I can not find a way
> > to continue doing it.
> >
> > Do you have ideas about it? Thanks.
> >
> > David

Nov 19 '05 #11

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Ravikanth[MVP] | last post: by
1 post views Thread by D. Shane Fowlkes | last post: by
6 posts views Thread by epigram | last post: by
3 posts views Thread by Tim::.. | last post: by
17 posts views Thread by Mike Fellows | last post: by
3 posts views Thread by TPhelps | last post: by
reply views Thread by rosydwin | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.