I am having issue with gridview edit button. I have one button in the grid view it ios called Edit and when the person clicks that item in the row it gives the user an option to either update or cancel the information entered in the row.
This is the HTML code:
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site.Master" EnableEventValidation="false" CodeBehind="Reports.aspx.vb" Inherits="BFF_Foam_Receiving.Reports" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<table runat="server">
<tr>
<td>
<asp:Label runat="server" Text="Sold To" Font-Names="Times New Roman" Font-Size="10" Font-Bold="false" Font-Italic="false" ForeColor="#000080"></asp:Label>
</td>
<td> </td><td></td><td></td><td></td><td>
</td><td></td><td></td><td></td><td></td><td></td>
<td>
</td><td>
<asp:Label runat="server" Text="Purchase Order #:" Font-Names="Times New Roman" Font-Size="10" Font-Bold="false" Font-Italic="false" ForeColor="#000080" ID="Label2"></asp:Label>
</td><td>
<asp:Label runat="server" Font-Size="10" ID="lblWorkOrderID" Font-Names="Times New Roman" Text="WorkOrderID"></asp:Label>
</td><td></td><td></td><td>
</td><td>
</td><td>
</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td>
</tr>
<tr>
<td><asp:Label runat="server" Font-Bold="true" Font-Size="10" ID="lblCompanyName" Font-Names="Times New Roman" Text="CompanyName"></asp:Label></td>
<td></td><td></td><td></td><td></td><td>
</td><td></td><td></td><td></td><td></td><td></td>
<td>
</td><td>
<asp:Label runat="server" Text="Date Ordered:" Font-Names="Times New Roman" Font-Size="10" Font-Bold="false" Font-Italic="false" ForeColor="#000080" ID="Label3"></asp:Label>
</td><td>
<asp:Label runat="server" Font-Size="10" ID="lblDateCreated" Font-Names="Times New Roman" Text="DateCreated"></asp:Label>
</td><td></td><td></td><td></td><td>
</td><td>
</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td>
</tr>
<tr>
<td style="height: 22px"><asp:Label runat="server" Font-Size="10" ID="lblCompanyAddress" Font-Names="Times New Roman" Text="Address"></asp:Label></td>
<td style="height: 22px; "></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px">
</td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px">
</td><td style="height: 22px">
<asp:Label runat="server" Text="Date Due:" Font-Names="Times New Roman" Font-Size="10" Font-Bold="false" Font-Italic="false" ForeColor="#000080" ID="Label4"></asp:Label>
</td><td style="height: 22px">
<asp:Label runat="server" Font-Size="10" ID="lblDateDue" Font-Names="Times New Roman" Text="DatedRequired"></asp:Label>
</td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px">
</td><td style="height: 22px">
</td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px"></td>
</tr>
<tr>
<td style="height: 22px"><asp:Label runat="server" Font-Size="10" ID="lblCompanyCity" Font-Names="Times New Roman" Text="City"></asp:Label></td>
<td style="height: 22px;"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px">
</td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px">
</td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px"></td>
</tr>
<tr>
<td style="height: 22px"><asp:Label runat="server" Font-Size="10" ID="lblCompanyCountry" Font-Names="Times New Roman" Text="Country"></asp:Label></td>
<td style="height: 22px; "></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px">
</td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px">
</td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px"></td>
</tr>
<tr>
<td style="height: 22px"></td>
<td style="height: 22px; "></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td><td style="height: 22px"></td>
<td style="height: 22px"></td>
</tr>
<tr>
<td style="font-family: 'Times New Roman'; font-size: 10pt; color: #000080"> </td>
<td>
</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td><td></td>
<td></td><td>
</td><td>
</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td></td>
</tr>
</table>
<canvas id="myCanvas" width="800" height="0" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.moveTo(0, 0);
ctx.lineTo(600, 0);
ctx.stroke();
</script>
<asp:GridView ID="GridView1" runat="server" EmptyDataText="No data found." OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit" AutoGenerateColumns="False" AllowCustomPaging="True" AllowPaging="True" AllowSorting="True" CellPadding="4" ForeColor="#333333" GridLines="None">
<AlternatingRowStyle BackColor="White" />
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:TemplateField Visible="false" HeaderText="WorkOrderID">
<ItemTemplate>
, <asp:Label ID="lblWorkOrderItemID" runat="server" Text='<%# Eval("WorkOrderItemID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Item">
<ItemTemplate>
<asp:Label runat="server" ID="Items" Text='<%# Eval("Item") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Qty">
<ItemTemplate>
<asp:Label runat="server" ID="idQty" Text='<%# Eval("Qty") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:Label runat="server" ID="idDescription" Text='<%# Eval("Description") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Units Received">
<ItemStyle />
<ItemTemplate>
<asp:Label runat="server" ID="lblNoteDisplay" Text='<%# Eval("Note") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:textbox ID="lblNote" runat="server" Text='<%# Bind("Note") %>'></asp:textbox>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</asp:Content>
This is the ASP.NET code
Imports System.Data.OleDb
Public Class Reports
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsDBNull(Session("CompanyName")) Then
lblCompanyName.Text = Session("CompanyName")
Else
lblCompanyName.Text = "No Company Found."
End If
lblWorkOrderID.Text = Session("ID")
If Not IsDBNull(Session("City")) Then
lblCompanyCity.Text = Session("City")
Else
lblCompanyAddress.Text = "No City Found."
End If
If Not IsDBNull(Session("Address")) Then
lblCompanyAddress.Text = Session("Address")
Else
lblCompanyAddress.Text = "No Address Found."
End If
If Not IsDBNull(Session("Country")) Then
lblCompanyCountry.Text = Session("Country")
Else
lblCompanyCountry.Text = "No Country Found."
End If
If Not IsDBNull(Session("StartDate")) Then
lblDateCreated.Text = Session("StartDate")
Else
lblDateCreated.Text = "Unable To Find Date."
End If
If Not IsDBNull(Session("DueDate")) Then
lblDateDue.Text = Session("DueDate")
Else
lblDateDue.Text = "Due Date Not Found."
End If
Bind_Data()
End Sub
Private Sub Bind_Data()
Using con As New OleDbConnection(ConfigurationManager.ConnectionStrings("TestLocal").ConnectionString)
Dim cmd As New OleDbCommand("SELECT [tblWorkOrderItem].WorkOrderItemID,[tblWorkOrderItem].bffGrade AS Item,[tblWorkOrderItem].Quantity AS Qty, [tblWorkOrderItem].Description, [tblWorkOrderItem].Note FROM (tblWorkOrderItem INNER JOIN tblWorkOrder ON tblWorkOrderItem.WorkOrderID = tblWorkOrder.WorkOrderID) WHERE [tblWorkOrderItem].WorkOrderID=@ID", con) With {.CommandType = CommandType.Text}
Dim myParamCollection As OleDbParameterCollection = cmd.Parameters
Dim myParam As OleDbParameter = myParamCollection.Add(New OleDbParameter("ID", OleDbType.Integer))
myParam.Value = Convert.ToInt16(Session("ID"))
Dim selectResults As New DataSet()
Dim ole_DBAdapter As New OleDbDataAdapter(cmd)
ole_DBAdapter.Fill(selectResults)
con.Open()
If cmd.ExecuteReader.HasRows Then
GridView1.DataSource = selectResults
GridView1.DataBind()
End If
con.Close()
End Using
End Sub
Protected Sub GridView1_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GridView1.RowEditing
Session("WorkOrderItemID") = Convert.ToInt32(DirectCast(GridView1.Rows(e.NewEditIndex).FindControl("lblWorkOrderItemID"), Label).Text)
GridView1.EditIndex = e.NewEditIndex
' ExecuteNonQuery("Update tblWorkOrderItem Set Note='' Where WorkOrderItemID=" & Convert.ToInt32(ID) & "")
End Sub
Private Sub ExecuteNonQuery(ByVal Value As String)
Try
Using con As New OleDbConnection(ConfigurationManager.ConnectionStrings("TestLocal").ConnectionString)
Dim cmd As New OleDbCommand(Value, con)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
Bind_Data()
End Using
Catch ex As Exception
End Try
End Sub
Protected Sub GridView1_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GridView1.RowCancelingEdit
GridView1.EditIndex = -1
End Sub
Protected Sub GridView1_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GridView1.RowUpdating
GridView1.EditIndex = -1
Dim strNote As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("lblNote"), TextBox).Text.ToString
ExecuteNonQuery("Update tblWorkOrderItem Set tblWorkOrderItem.Note='" & strNote & "' Where WorkOrderItemID=" & Convert.ToInt32(Session("WorkOrderItemID")) & "")
End Sub
Protected Sub lblNote_TextChanged(sender As Object, e As EventArgs)
End Sub
End Class
The problem I have is the last bit of the code. Whatever I enter in the textbox in the edititemtemplate and click Update button to save it...in the vb.net side
Dim strNote As String = DirectCast(GridView1.Rows(e.RowIndex).FindControl("lblNote"), TextBox).Text.ToString
and it always returns empty..no matter what happens. PLEASE SOMEONE HELP ME??!