pensiongenius
asked on
Trying to read a value of specific cell in gridview
I am trying to loop through a selected row in a gridview and capture a value to pass to a sub that saves the data in a SQL DB. The problem is my values are returning empty strings.
Below is my code, I first check a specific column for a checked checkbox and if it is checked I start the save routine. The checking for a checkbox works fine, it is capturing values that is difficult. You will see I have hard coded a zero for an integer value so I won't get a converting type error while testing. There is also a hard coded email address also for testing.
Here is the code for the gridview. It has 6 data bound columns and 3 additional columns that I have appended including the checkbox column. The data I am trying to read all comes from databound columns.
Below is my code, I first check a specific column for a checked checkbox and if it is checked I start the save routine. The checking for a checkbox works fine, it is capturing values that is difficult. You will see I have hard coded a zero for an integer value so I won't get a converting type error while testing. There is also a hard coded email address also for testing.
For Each Row As GridViewRow In gv_advisor.Rows
If (CType(Row.Cells(6).FindControl("chkUseContact"), CheckBox)).Checked = True Then
UpdateAdvisorInfo(Row.Cells(1).Text _
, 0 _
, Row.Cells(3).Text _
, Row.Cells(4).Text _
, "email@test.com")
End If
Next
Here is the code for the gridview. It has 6 data bound columns and 3 additional columns that I have appended including the checkbox column. The data I am trying to read all comes from databound columns.
<asp:GridView ID="gv_advisor" visible="true" runat="server"
AutoGenerateColumns="False" BorderWidth="1px" BackColor="White" GridLines="Both"
CellPadding="4" BorderStyle="Solid" BorderColor="#DEDFDE" ForeColor="#006699"
AllowSorting="False">
<FooterStyle BackColor="#006699"></FooterStyle>
<PagerStyle ForeColor="White" HorizontalAlign="Right" BackColor="#F7F7DE"></PagerStyle>
<HeaderStyle ForeColor="White" Font-Bold="True" BackColor="#006699"></HeaderStyle>
<AlternatingRowStyle BackColor="White"></AlternatingRowStyle>
<Columns>
<asp:TemplateField HeaderText="Advisor ID">
<ItemTemplate>
<asp:Label runat="server" ID="advisorid" Text='<%# Eval("ADVISOR_ID") %>' />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Top" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Plan ID">
<ItemTemplate>
<asp:Label runat="server" ID="planid" Text='<%# Eval("PLAN_ID") %>' />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Top" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Plan Name">
<ItemTemplate>
<asp:Label runat="server" ID="planname" Text='<%# Eval("PLAN_NAME") %>' />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Top" />
</asp:TemplateField>
<asp:TemplateField HeaderText="First Name">
<ItemTemplate>
<asp:Label runat="server" ID="advisorfirst" Text='<%# Eval("First") %>' />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Top" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Last Name">
<ItemTemplate>
<asp:Label runat="server" ID="advisorlast" Text='<%# Eval("Last") %>' />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Top" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Firm Name">
<ItemTemplate>
<asp:Label runat="server" ID="firmname" Text='<%# Eval("ADVISOR_FIRM_NAME") %>' />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Top" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Correct As Is">
<ItemTemplate>
<asp:Checkbox runat="server" ID="chkUseContact" />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Alt Contact First">
<ItemTemplate>
<asp:textbox runat="server" ID="txt_NewContact_First" />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Middle" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Alt Contact Last">
<ItemTemplate>
<asp:textbox runat="server" ID="txt_NewContact_Last" />
</ItemTemplate>
<ItemStyle VerticalAlign="Middle" />
<ItemStyle VerticalAlign="Middle" />
</asp:TemplateField>
</Columns>
</asp:GridView>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Also it was c# not vb but that isn't an issue, it was simple enough to translate over.
Here is what ultimately captured the value:
(CType(Row.Cells(1).FindCo