Hi Guyts I'm using the following article and getting an object reference for the last line of the below code. I've multiple columns on my gridview and column 7 and 8 have the label and textbox....
http://www.aspsnippets.com/Articles/Bulk-Edit-Update-Multiple-Rows-in-ASPNet-GridView-using-CheckBoxes.aspx
Protected Sub OnCheckedChanged(sender As Object, e As EventArgs)
Dim isUpdateVisible As Boolean = False
Dim chk As CheckBox = TryCast(sender, CheckBox)
If chk.ID = "chkAll" Then
For Each row As GridViewRow In GridView1.Rows
If row.RowType = DataControlRowType.DataRow Then
row.Cells(0).Controls.OfType(Of CheckBox)().FirstOrDefault().Checked = chk.Checked
End If
Next
End If
Dim chkAll As CheckBox = TryCast(GridView1.HeaderRow.FindControl("chkAll"), CheckBox)
chkAll.Checked = True
For Each row As GridViewRow In GridView1.Rows
If row.RowType = DataControlRowType.DataRow Then
Dim isChecked As Boolean = row.Cells(0).Controls.OfType(Of CheckBox)().FirstOrDefault().Checked
For i As Integer = 1 To row.Cells.Count - 1
row.Cells(i).Controls.OfType(Of Label)().FirstOrDefault().Visible = Not isChecked 'Error HERE!
If row.Cells(i).Controls.OfType(Of TextBox)().ToList().Count > 0 Then
row.Cells(i).Controls.OfType(Of TextBox)().FirstOrDefault().Visible = isChecked
End If
'If row.Cells(i).Controls.OfType(Of DropDownList)().ToList().Count > 0 Then
' row.Cells(i).Controls.OfType(Of DropDownList)().FirstOrDefault().Visible = isChecked
'End If
If isChecked AndAlso Not isUpdateVisible Then
isUpdateVisible = True
End If
If Not isChecked Then
chkAll.Checked = False
End If
Next
End If
Next
btnUpdate.Visible = isUpdateVisible
End Sub
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ccas_id" DataSourceID="SQLDS_exp"
EnableTheming="False" ForeColor="#333333" GridLines="Vertical" HorizontalAlign="Center"
Style="font-size: 10pt; font-family: garamond" PageSize="100" ShowFooter="True">
<RowStyle BackColor="#E3EAEB" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkAll" runat="server" AutoPostBack="true" OnCheckedChanged="OnCheckedChanged" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true" OnCheckedChanged="OnCheckedChanged" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="account" HeaderText="Account" ReadOnly="True" SortExpression="account">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:TemplateField HeaderText="Account Description" SortExpression="acc_desc">
<EditItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Eval("acc_desc")%>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label13" runat="server" Text='<%# Bind("acc_desc")%>' Width="220px"></asp:Label>
</ItemTemplate>
<ControlStyle Width="220px" />
<FooterStyle Width="220px" />
<HeaderStyle Width="220px" Wrap="False" />
<ItemStyle HorizontalAlign="Left" Width="220px" Font-Size="8pt" />
</asp:TemplateField>
<asp:TemplateField HeaderText="PY_Actuals" SortExpression="exp_acts_py">
<EditItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("exp_acts_py", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Bind("exp_acts_py", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="75px" />
<ItemStyle HorizontalAlign="Right" Wrap="False" />
<HeaderTemplate>
<asp:LinkButton ID="lkbYearA_py" runat="server" CommandArgument="exp_acts_py" CommandName="Sort"
ForeColor="White" Text='<%# Server.HtmlEncode(Session("year_now")-2) + "<br />Actuals"%>'></asp:LinkButton><br />
<asp:Label ID="lblTotA_py" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetActPY() %>" Width="75px"></asp:Label>
</HeaderTemplate>
<FooterTemplate>
<asp:Label ID="lblTotA_py" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetActPY() %>" Width="80px"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CY_Actuals" SortExpression="exp_acts_cy">
<EditItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("exp_acts_cy", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</EditItemTemplate>
<HeaderTemplate>
<asp:LinkButton ID="lkbYearA_cy" runat="server" CommandArgument="exp_acts_cy" CommandName="Sort"
ForeColor="White" Text='<%# Server.HtmlEncode(Session("year_now")-1) + "<br />Actuals"%>'></asp:LinkButton><br />
<asp:Label ID="lblTotA_cy" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetActCY() %>" Width="75px"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Bind("exp_acts_cy", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="75px" />
<ItemStyle HorizontalAlign="Right" Wrap="False" />
<FooterTemplate>
<asp:Label ID="lblTotA_cy" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetActCY() %>" Width="80px"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CY Budget Adopted" SortExpression="exp_bud_cy">
<EditItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("exp_bud_cy", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</EditItemTemplate>
<HeaderTemplate>
<asp:LinkButton ID="lkbYearAB" runat="server" CommandArgument="exp_bud_cy" CommandName="Sort"
ForeColor="White" Text='<%# Server.HtmlEncode(Session("year_now")-1) + "<br />Adop Budget"%>'></asp:LinkButton><br />
<asp:Label ID="lblTotAB" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetAdopBud() %>" Width="75px"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Label4" runat="server" Text='<%# Bind("exp_bud_cy", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="75px" />
<ItemStyle HorizontalAlign="Right" Wrap="False" />
<FooterTemplate>
<asp:Label ID="lblTotAB" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetAdopBud() %>" Width="80px"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CY Budget Revised" SortExpression="exp_bud2_cy">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("exp_bud2_cy", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</EditItemTemplate>
<HeaderTemplate>
<asp:LinkButton ID="lkbYearRB" runat="server" CommandArgument="exp_bud2_cy" CommandName="Sort"
ForeColor="White" Text='<%# Server.HtmlEncode(Session("year_now")-1) + "<br />Rev Budget"%>'></asp:LinkButton><br />
<asp:Label ID="lblTotRB" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetRevBud() %>" Width="75px"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("exp_bud2_cy", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="75px" />
<ItemStyle HorizontalAlign="Right" Wrap="False" />
<FooterTemplate>
<asp:Label ID="lblTotRB" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetRevBud() %>" Width="80px"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Outturn" SortExpression="exp_outt">
<%--<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("exp_outt")%>' Width="75px"></asp:TextBox>
</EditItemTemplate>--%>
<HeaderTemplate>
<asp:LinkButton ID="lkbYearOT" runat="server" CommandArgument="exp_outt" CommandName="Sort"
ForeColor="White" Text='<%# Server.HtmlEncode(Session("year_now")-1) + "<br />Outturn"%>'></asp:LinkButton><br />
<asp:Label ID="lblTotOT" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetOutturn() %>" Width="75px"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="Label7" runat="server" Text='<%# Bind("exp_outt", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
<asp:TextBox ID="txtOutt" runat="server" Text='<%# Bind("exp_outt")%>' Width="75px"
Visible="false"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="75px" />
<ItemStyle HorizontalAlign="Right" Wrap="False" />
<FooterTemplate>
<asp:Label ID="lblTotOT" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetOutturn() %>" Width="75px"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="NY_Proposed" SortExpression="exp_prop">
<%--<EditItemTemplate>
<asp:TextBox ID="txt_prop" runat="server" Text='<%# Bind("exp_prop")%>' Width="75px"></asp:TextBox>
</EditItemTemplate>--%>
<HeaderTemplate>
<asp:LinkButton ID="lkbYearProp" runat="server" CommandArgument="exp_prop" CommandName="Sort"
ForeColor="White" Text='<%# Server.HtmlEncode(Session("year_now")) + "<br />Proposed"%>'
Style="text-align: center"></asp:LinkButton><br />
<asp:Label ID="lblTotProp" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetPropBud() %>" Width="75px"></asp:Label>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblProp" runat="server" Text='<%# Bind("exp_prop", "{0:#,##0;(#,##0);0}")%>'></asp:Label>
<asp:TextBox ID="txtProp" runat="server" Text='<%# Bind("exp_prop")%>' Width="75px"
Visible="false"></asp:TextBox>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="75px" />
<ItemStyle HorizontalAlign="Right" Wrap="False" />
<FooterTemplate>
<asp:Label ID="lblTotProp" runat="server" BackColor="White" ForeColor="Black" Style="border-right: black thin solid;
border-top: black thin solid; border-left: black thin solid; border-bottom: black thin solid;
text-align: right" Text="<%# SetPropBud() %>" Width="80px"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Comments" SortExpression="comments">
<%-- <EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Height="60px" TextMode="MultiLine" Width="200px" Text='<%# Bind("comments")%>'></asp:TextBox>
</EditItemTemplate>--%>
<ItemTemplate>
<asp:Label ID="lblcomments" runat="server" Width="200px" Text='<%# Bind("comments") %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="200px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:CommandField ShowEditButton="True">
<ControlStyle ForeColor="Blue" />
</asp:CommandField>
</Columns>
<FooterStyle BackColor="#0A7E5E" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#0A7E5E" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="Silver" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
Thanks in advance !
Dave