Connecting Tech Pros Worldwide Forums | Help | Site Map

GridView - Retrieve invisible column information

Mel
Guest
 
Posts: n/a
#1: Jul 25 '07
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:

gvParts.Rows(e.RowIndex).Cells(8).Text


Any help would be greatly appreciated.


David Wier
Guest
 
Posts: n/a
#2: Jul 25 '07

re: GridView - Retrieve invisible column information


If they're always going to be invisible, as such, you can't access them
during run-time.
to get around that, you can copy the labels or textboxes from the invisible
columns into visible columns, making the labels/textboxes invisible - then,
you can programmatically use the FindControl method in that particular row,
to find you data to validate against.

--
David Wier
MVP/ASPInsider
http://aspnet101.com
http://iWritePro.com



"Mel" <MLightsOut@gmail.comwrote in message
news:1185389767.466244.271040@o61g2000hsh.googlegr oups.com...
Quote:
>I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>
gvParts.Rows(e.RowIndex).Cells(8).Text
>
>
Any help would be greatly appreciated.
>

Mel
Guest
 
Posts: n/a
#3: Jul 25 '07

re: GridView - Retrieve invisible column information


On Jul 25, 2:15 pm, "David Wier" <davidw...@davidwier.nospam.com>
wrote:
Quote:
If they're always going to be invisible, as such, you can't access them
during run-time.
to get around that, you can copy the labels or textboxes from the invisible
columns into visible columns, making the labels/textboxes invisible - then,
you can programmatically use the FindControl method in that particular row,
to find you data to validate against.
>
--
David Wier
MVP/ASPInsiderhttp://aspnet101.comhttp://iWritePro.com
>
"Mel" <MLights...@gmail.comwrote in message
>
news:1185389767.466244.271040@o61g2000hsh.googlegr oups.com...
>
Quote:
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>
Quote:
gvParts.Rows(e.RowIndex).Cells(8).Text
>
Quote:
Any help would be greatly appreciated.
Yuck, but I'll try anything at this point. So maybe I could add an
invisible drop-down box that is bound to the same AccessDataSource
that my GridView uses... Hmmm. I'll give it a whirl.
Thanks.

Eliyahu Goldin
Guest
 
Posts: n/a
#4: Jul 25 '07

re: GridView - Retrieve invisible column information


Server controls with Visible=false don't render to client and don't come
back on postbacks. A simple work around is to leave Visible=true and hide
the controls with css rule display:none.

--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin


"Mel" <MLightsOut@gmail.comwrote in message
news:1185389767.466244.271040@o61g2000hsh.googlegr oups.com...
Quote:
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>
gvParts.Rows(e.RowIndex).Cells(8).Text
>
>
Any help would be greatly appreciated.
>

=?Utf-8?B?U2VyZ2V5IFBvYmVyZXpvdnNraXk=?=
Guest
 
Posts: n/a
#5: Jul 26 '07

re: GridView - Retrieve invisible column information


Mel,

It looks like your three column are the keys for the grid - you could
utilize built in functionality - DataKeyNames property (comma separated) -
and do not have to create columns for them.
then on the postback you can use DataKeys[e.RowIndex] - it will return your
three values

"Mel" wrote:
Quote:
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>
gvParts.Rows(e.RowIndex).Cells(8).Text
>
>
Any help would be greatly appreciated.
>
>
Mel
Guest
 
Posts: n/a
#6: Jul 26 '07

re: GridView - Retrieve invisible column information


On Jul 25, 5:57 pm, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Quote:
Server controls with Visible=false don't render to client and don't come
back on postbacks. A simple work around is to leave Visible=true and hide
the controls with css rule display:none.
>
--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldin
>
"Mel" <MLights...@gmail.comwrote in message
>
news:1185389767.466244.271040@o61g2000hsh.googlegr oups.com...
>
Quote:
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>
Quote:
gvParts.Rows(e.RowIndex).Cells(8).Text
>
Quote:
Any help would be greatly appreciated.
Do you have an example of how to implement the display:none CSS rule?
I attempted it yesterday and I didn't see any difference; the columns
were still visible.

Mel
(Using Visual Studio 2005, Asp.net 2.0, Visual Basic, WinXP Pro SP2)

Eliyahu Goldin
Guest
 
Posts: n/a
#7: Jul 26 '07

re: GridView - Retrieve invisible column information


Sure, somethink like

<asp:BoundColumn DataField="MyField" >
<ItemStyle CssClass="Invisible"></ItemStyle>
<HeaderStyle CssClass="Invisible"></HeaderStyle>
</asp:BoundColumn>

and

..Invisible{display:none}

somewhere in styles.

--
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net


"Mel" <MLightsOut@gmail.comwrote in message
news:1185453527.761345.44620@e9g2000prf.googlegrou ps.com...
Quote:
On Jul 25, 5:57 pm, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.orgwrote:
Quote:
>Server controls with Visible=false don't render to client and don't come
>back on postbacks. A simple work around is to leave Visible=true and hide
>the controls with css rule display:none.
>>
>--
>Eliyahu Goldin,
>Software Developer & Consultant
>Microsoft MVP [ASP.NET]http://msmvps.com/blogs/egoldin
>>
>"Mel" <MLights...@gmail.comwrote in message
>>
>news:1185389767.466244.271040@o61g2000hsh.googleg roups.com...
>>
Quote:
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>>
Quote:
gvParts.Rows(e.RowIndex).Cells(8).Text
>>
Quote:
Any help would be greatly appreciated.
>
Do you have an example of how to implement the display:none CSS rule?
I attempted it yesterday and I didn't see any difference; the columns
were still visible.
>
Mel
(Using Visual Studio 2005, Asp.net 2.0, Visual Basic, WinXP Pro SP2)
>

Mel
Guest
 
Posts: n/a
#8: Jul 26 '07

re: GridView - Retrieve invisible column information


On Jul 26, 1:02 am, Sergey Poberezovskiy
<SergeyPoberezovs...@discussions.microsoft.comwrot e:
Quote:
Mel,
>
It looks like your three column are the keys for the grid - you could
utilize built in functionality - DataKeyNames property (comma separated) -
and do not have to create columns for them.
then on the postback you can use DataKeys[e.RowIndex] - it will return your
three values
>
"Mel" wrote:
Quote:
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>
Quote:
gvParts.Rows(e.RowIndex).Cells(8).Text
>
Quote:
Any help would be greatly appreciated.
Okay cool. So now I can retrieve the 3 invisible fields using
DataKeys but how do I retrieve the contents of a Template field text
box (txtLength)? I tried FindControl but it always returns nothing,
maybe I'm using it wrong? The GridView control is in a table which is
on the Content1 section.


Mel
Guest
 
Posts: n/a
#9: Jul 26 '07

re: GridView - Retrieve invisible column information


On Jul 26, 9:01 am, Mel <MLights...@gmail.comwrote:
Quote:
On Jul 26, 1:02 am, Sergey Poberezovskiy
>
>
>
<SergeyPoberezovs...@discussions.microsoft.comwrot e:
Quote:
Mel,
>
Quote:
It looks like your three column are the keys for the grid - you could
utilize built in functionality - DataKeyNames property (comma separated) -
and do not have to create columns for them.
then on the postback you can use DataKeys[e.RowIndex] - it will return your
three values
>
Quote:
"Mel" wrote:
Quote:
I have 10 columns total. 3 of them are invisible. The rest are read-
only BoundFields, 3 of which are editable fields using
TemplateFields. Upon editing, I want to validate what the user enters
against one of those invisible columns. How do I accomplish this?
The code below that I attempted just returns an empty string when I
try to retrieve the invisible column data:
>
Quote:
Quote:
gvParts.Rows(e.RowIndex).Cells(8).Text
>
Quote:
Quote:
Any help would be greatly appreciated.
>
Okay cool. So now I can retrieve the 3 invisible fields using
DataKeys but how do I retrieve the contents of a Template field text
box (txtLength)? I tried FindControl but it always returns nothing,
maybe I'm using it wrong? The GridView control is in a table which is
on the Content1 section.
I figured it out. THANKS to everyone for your help! I explained what
I did to solve the problem below in case anyone else is interested.

Instead of attempting to retrieve Invisible column data (which doesn't
work upon PostBack) I removed the columns from the DataView and I used
the DataKeys property instead:
gvParts.DataKeys(e.RowIndex).Item("StretchOut")
gvParts.DataKeys(e.RowIndex).Item("NumBends")
gvParts.DataKeys(e.RowIndex).Item("SN")

To retrieve a template field in my GridView control I used the
FindControl method:
Dim txtLengthBox As TextBox =
gvParts.Rows(e.RowIndex).Cells(7).FindControl("txt Length")

The Entire Code is here:
Protected Sub gvParts_RowUpdating(ByVal sender As Object, ByVal e
As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles
gvParts.RowUpdating
Dim txtLengthBox As TextBox =
gvParts.Rows(e.RowIndex).Cells(7).FindControl("txt Length")
Dim CusVal As CustomValidator =
gvParts.Rows(e.RowIndex).Cells(7).FindControl("cvL ength")
If Trim(txtLengthBox.Text) <"120" And
gvParts.DataKeys(e.RowIndex).Item("StretchOut") = "48" And
gvParts.DataKeys(e.RowIndex).Item("NumBends") = "0" Then
'Do not allow the user to change the length of a sheet of
material. Sheets are always 120 inches in length.
CusVal.IsValid = False
txtLengthBox.Text = e.OldValues("Length")
e.NewValues("Length") = e.OldValues("Length")
Else
End If
End Sub

Hardeep Kaur
Guest
 
Posts: n/a
#10: Aug 9 '07

re: GridView - Retrieve invisible column information


<asp:GridView ID="View_Applicants" runat="server"
AutoGenerateColumns="False" CellPadding="4" Font-Size="12pt"
ForeColor="#333333" GridLines="None" Width="360px">
<Columns>
<asp:BoundField DataField="Applicant_LName"
HeaderText="Last Name" />
<asp:BoundField DataField="Applicant_FName"
HeaderText="First Name" />
<asp:BoundField DataField="Applicant_Email"
HeaderText="Email" />
</Columns>
<FooterStyle BackColor="#5D7B9D" Font-Bold="True"
ForeColor="White" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White"
HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True"
ForeColor="#333333" />
<HeaderStyle BackColor="#FF8000" Font-Bold="True"
ForeColor="White" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775"
/>
</asp:GridView>



*** Sent via Developersdex http://www.developersdex.com ***
Closed Thread