469,958 Members | 1,885 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,958 developers. It's quick & easy.

datagrid-how to get cell value(hyperlink column)

Hi I have a data grid with a hyperlink column. the colum has numbers like
00001,000002, ect. Just wondering how to get the text value of the cell as
tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
returns a blank string. It seems to work ok for the other columns that are
just regular datagrid columns, not hyperlink types.
Thanks.
--
Paul G
Software engineer.
Nov 18 '05 #1
9 14751
If you had a HyperLink in a template column I would use this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
With CType(e.Item.Cells(column number).FindControl("control name"),
HyperLink)
.ToolTip = "Foobar"
.NavigateUrl = "Foobar"
.Text="Foobar"
End With
End If

But since you are using a HyperLinkColumn, I googled and found this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
End If

HTH,
Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:A4**********************************@microsof t.com...
Hi I have a data grid with a hyperlink column. the colum has numbers like
00001,000002, ect. Just wondering how to get the text value of the cell
as
tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
returns a blank string. It seems to work ok for the other columns that
are
just regular datagrid columns, not hyperlink types.
Thanks.
--
Paul G
Software engineer.

Nov 18 '05 #2
thanks for the information. Can this be in the page load routine as I am
getting an error trying to use e.? Thanks Paul.

"Greg Burns" wrote:
If you had a HyperLink in a template column I would use this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
With CType(e.Item.Cells(column number).FindControl("control name"),
HyperLink)
.ToolTip = "Foobar"
.NavigateUrl = "Foobar"
.Text="Foobar"
End With
End If

But since you are using a HyperLinkColumn, I googled and found this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
End If

HTH,
Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:A4**********************************@microsof t.com...
Hi I have a data grid with a hyperlink column. the colum has numbers like
00001,000002, ect. Just wondering how to get the text value of the cell
as
tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
returns a blank string. It seems to work ok for the other columns that
are
just regular datagrid columns, not hyperlink types.
Thanks.
--
Paul G
Software engineer.


Nov 18 '05 #3
Hi,
I am getting an invalid cast on the following line, put it in a
ItemDataBound event.
CType(datagrid.Columns(0), HyperLinkColumn).Text = "foobar"
just wondering if you may know what is wrong, thanks Paul.

"Greg Burns" wrote:
If you had a HyperLink in a template column I would use this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
With CType(e.Item.Cells(column number).FindControl("control name"),
HyperLink)
.ToolTip = "Foobar"
.NavigateUrl = "Foobar"
.Text="Foobar"
End With
End If

But since you are using a HyperLinkColumn, I googled and found this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
End If

HTH,
Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:A4**********************************@microsof t.com...
Hi I have a data grid with a hyperlink column. the colum has numbers like
00001,000002, ect. Just wondering how to get the text value of the cell
as
tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
returns a blank string. It seems to work ok for the other columns that
are
just regular datagrid columns, not hyperlink types.
Thanks.
--
Paul G
Software engineer.


Nov 18 '05 #4
had the wrong column number.

"Greg Burns" wrote:
If you had a HyperLink in a template column I would use this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
With CType(e.Item.Cells(column number).FindControl("control name"),
HyperLink)
.ToolTip = "Foobar"
.NavigateUrl = "Foobar"
.Text="Foobar"
End With
End If

But since you are using a HyperLinkColumn, I googled and found this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
End If

HTH,
Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:A4**********************************@microsof t.com...
Hi I have a data grid with a hyperlink column. the colum has numbers like
00001,000002, ect. Just wondering how to get the text value of the cell
as
tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
returns a blank string. It seems to work ok for the other columns that
are
just regular datagrid columns, not hyperlink types.
Thanks.
--
Paul G
Software engineer.


Nov 18 '05 #5
No. You have to use it in the ItemDataBound event of you datagrid.

Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:68**********************************@microsof t.com...
thanks for the information. Can this be in the page load routine as I am
getting an error trying to use e.? Thanks Paul.

"Greg Burns" wrote:
If you had a HyperLink in a template column I would use this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
With CType(e.Item.Cells(column number).FindControl("control name"),
HyperLink)
.ToolTip = "Foobar"
.NavigateUrl = "Foobar"
.Text="Foobar"
End With
End If

But since you are using a HyperLinkColumn, I googled and found this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
End If

HTH,
Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:A4**********************************@microsof t.com...
> Hi I have a data grid with a hyperlink column. the colum has numbers
> like
> 00001,000002, ect. Just wondering how to get the text value of the
> cell
> as
> tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
> returns a blank string. It seems to work ok for the other columns that
> are
> just regular datagrid columns, not hyperlink types.
> Thanks.
> --
> Paul G
> Software engineer.


Nov 18 '05 #6
Hi almost have it working but not quite. The hyperlink column has a
different value for each row, data being returned from a stored procedure
then going into a dataset.
The code below returns the column text field of the hyperlink value but not
the actual cell value. I have

st_temp = CType(dg_searchlog.Columns(6), HyperLinkColumn).DataTextField
and I get Data_Item_Number which is the correct text field selected in the
data grid for that column but I need the cell values for each row out of the
column.
if I use
st_temp = CType(dg_searchlog.Columns(6), HyperLinkColumn).Text
it returns a blank string.
"Greg Burns" wrote:
No. You have to use it in the ItemDataBound event of you datagrid.

Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:68**********************************@microsof t.com...
thanks for the information. Can this be in the page load routine as I am
getting an error trying to use e.? Thanks Paul.

"Greg Burns" wrote:
If you had a HyperLink in a template column I would use this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
With CType(e.Item.Cells(column number).FindControl("control name"),
HyperLink)
.ToolTip = "Foobar"
.NavigateUrl = "Foobar"
.Text="Foobar"
End With
End If

But since you are using a HyperLinkColumn, I googled and found this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
End If

HTH,
Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:A4**********************************@microsof t.com...
> Hi I have a data grid with a hyperlink column. the colum has numbers
> like
> 00001,000002, ect. Just wondering how to get the text value of the
> cell
> as
> tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
> returns a blank string. It seems to work ok for the other columns that
> are
> just regular datagrid columns, not hyperlink types.
> Thanks.
> --
> Paul G
> Software engineer.


Nov 18 '05 #7
Looks like it is not possible to get the individual cell value of the
hyperlink column when using a data text field data source. The .text member
returns the string entered in the text entry of the property builder of the
datagrid. Using this sets the text the same for each row of the hyperlink
column. Setting the text field to a datasource will allow each row (cell
text) to be different for the hyperlink column but there does not seem to be
any method to return the value.

"Greg Burns" wrote:
No. You have to use it in the ItemDataBound event of you datagrid.

Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:68**********************************@microsof t.com...
thanks for the information. Can this be in the page load routine as I am
getting an error trying to use e.? Thanks Paul.

"Greg Burns" wrote:
If you had a HyperLink in a template column I would use this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
With CType(e.Item.Cells(column number).FindControl("control name"),
HyperLink)
.ToolTip = "Foobar"
.NavigateUrl = "Foobar"
.Text="Foobar"
End With
End If

But since you are using a HyperLinkColumn, I googled and found this:

If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
ListItemType.AlternatingItem Then
CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
End If

HTH,
Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:A4**********************************@microsof t.com...
> Hi I have a data grid with a hyperlink column. the colum has numbers
> like
> 00001,000002, ect. Just wondering how to get the text value of the
> cell
> as
> tempstring = datagrid.Items(rownumber).Cells.Item(column number).Text
> returns a blank string. It seems to work ok for the other columns that
> are
> just regular datagrid columns, not hyperlink types.
> Thanks.
> --
> Paul G
> Software engineer.


Nov 18 '05 #8
Hmm. Sorry to hear that. Hadn't actually tried it.

Personally, I would just switch and make that column a template column. Add
a <asp:hyperlink runat=server id=MyHyperLink /> control and use FindControl
to modify it in ItemDataBound.

Greg
"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:EB**********************************@microsof t.com...
Looks like it is not possible to get the individual cell value of the
hyperlink column when using a data text field data source. The .text
member
returns the string entered in the text entry of the property builder of
the
datagrid. Using this sets the text the same for each row of the hyperlink
column. Setting the text field to a datasource will allow each row (cell
text) to be different for the hyperlink column but there does not seem to
be
any method to return the value.

"Greg Burns" wrote:
No. You have to use it in the ItemDataBound event of you datagrid.

Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:68**********************************@microsof t.com...
> thanks for the information. Can this be in the page load routine as I
> am
> getting an error trying to use e.? Thanks Paul.
>
> "Greg Burns" wrote:
>
>> If you had a HyperLink in a template column I would use this:
>>
>> If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
>> ListItemType.AlternatingItem Then
>> With CType(e.Item.Cells(column number).FindControl("control name"),
>> HyperLink)
>> .ToolTip = "Foobar"
>> .NavigateUrl = "Foobar"
>> .Text="Foobar"
>> End With
>> End If
>>
>> But since you are using a HyperLinkColumn, I googled and found this:
>>
>> If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
>> ListItemType.AlternatingItem Then
>> CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
>> End If
>>
>> HTH,
>> Greg
>>
>> "Paul" <Pa**@discussions.microsoft.com> wrote in message
>> news:A4**********************************@microsof t.com...
>> > Hi I have a data grid with a hyperlink column. the colum has
>> > numbers
>> > like
>> > 00001,000002, ect. Just wondering how to get the text value of the
>> > cell
>> > as
>> > tempstring = datagrid.Items(rownumber).Cells.Item(column
>> > number).Text
>> > returns a blank string. It seems to work ok for the other columns
>> > that
>> > are
>> > just regular datagrid columns, not hyperlink types.
>> > Thanks.
>> > --
>> > Paul G
>> > Software engineer.
>>
>>
>>


Nov 18 '05 #9
ok sounds like a good idea. thanks.

"Greg Burns" wrote:
Hmm. Sorry to hear that. Hadn't actually tried it.

Personally, I would just switch and make that column a template column. Add
a <asp:hyperlink runat=server id=MyHyperLink /> control and use FindControl
to modify it in ItemDataBound.

Greg
"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:EB**********************************@microsof t.com...
Looks like it is not possible to get the individual cell value of the
hyperlink column when using a data text field data source. The .text
member
returns the string entered in the text entry of the property builder of
the
datagrid. Using this sets the text the same for each row of the hyperlink
column. Setting the text field to a datasource will allow each row (cell
text) to be different for the hyperlink column but there does not seem to
be
any method to return the value.

"Greg Burns" wrote:
No. You have to use it in the ItemDataBound event of you datagrid.

Greg

"Paul" <Pa**@discussions.microsoft.com> wrote in message
news:68**********************************@microsof t.com...
> thanks for the information. Can this be in the page load routine as I
> am
> getting an error trying to use e.? Thanks Paul.
>
> "Greg Burns" wrote:
>
>> If you had a HyperLink in a template column I would use this:
>>
>> If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
>> ListItemType.AlternatingItem Then
>> With CType(e.Item.Cells(column number).FindControl("control name"),
>> HyperLink)
>> .ToolTip = "Foobar"
>> .NavigateUrl = "Foobar"
>> .Text="Foobar"
>> End With
>> End If
>>
>> But since you are using a HyperLinkColumn, I googled and found this:
>>
>> If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType =
>> ListItemType.AlternatingItem Then
>> CType(grid.Columns(0), HyperLinkColumn).Text = "foobar"
>> End If
>>
>> HTH,
>> Greg
>>
>> "Paul" <Pa**@discussions.microsoft.com> wrote in message
>> news:A4**********************************@microsof t.com...
>> > Hi I have a data grid with a hyperlink column. the colum has
>> > numbers
>> > like
>> > 00001,000002, ect. Just wondering how to get the text value of the
>> > cell
>> > as
>> > tempstring = datagrid.Items(rownumber).Cells.Item(column
>> > number).Text
>> > returns a blank string. It seems to work ok for the other columns
>> > that
>> > are
>> > just regular datagrid columns, not hyperlink types.
>> > Thanks.
>> > --
>> > Paul G
>> > Software engineer.
>>
>>
>>


Nov 18 '05 #10

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Cliff Benoist | last post: by
reply views Thread by Randy | last post: by
3 posts views Thread by bismarkjoe | last post: by
16 posts views Thread by tshad | last post: by
reply views Thread by Bidarkota | last post: by
1 post views Thread by nate axtell | last post: by
2 posts views Thread by Starbuck | last post: by
4 posts views Thread by gane | last post: by
reply views Thread by rainxy | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.