A set of technologies in .NET for building web applications and web services. Miscellaneous topics that do not fit into specific categories.
Gridview Update Dropdownlist
Baiju EP
141
Reputation points
In my aspx+VB+SQL Web
I had added table create script, My aspx page and VB code behind
Data is loaded into gridview and drop down is also working finer. I can edit and update teh data
but when I press the update button my gridview disappears. if I have 3 rows in gridview and want to edit each rows. I have to select the dropdown list each time and update each row.
SQL Script
Aspx Page
<asp:GridView ID="gvCustomers" DataKeyNames="ION_ID" runat="server" AutoGenerateColumns="false" OnRowEditing="EditCustomer" OnRowDataBound="RowDataBound" OnRowUpdating="UpdateCustomer" OnRowCancelingEdit="CancelEdit">
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="ION_ID" HeaderText="ION_ID" InsertVisible="False" ReadOnly="True" SortExpression="ION_ID" ><ControlStyle Width="50px" /></asp:BoundField>
<asp:BoundField DataField="Originator" HeaderText="Originator" SortExpression="Originator" > <ControlStyle Width="80px" /></asp:BoundField>
<asp:BoundField DataField="Originator_ID" HeaderText="Originator_ID" SortExpression="Originator_ID" > <ControlStyle Width="100px" /></asp:BoundField>
<asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" DataFormatString="{0:dd-MMM-yy}"> <ControlStyle Width="80px" /> </asp:BoundField>
<asp:BoundField DataField="LPR_NO" HeaderText="LPR_NO" SortExpression="LPR_NO" > <ControlStyle Width="100px" /> </asp:BoundField>
<asp:BoundField DataField="LPR_Dt" HeaderText="LPR_Dt" SortExpression="LPR_Dt" DataFormatString="{0:dd-MMM-yy}"> <ControlStyle Width="80px" /> </asp:BoundField>
<asp:BoundField DataField="Product" HeaderText="Product" SortExpression="Product" > </asp:BoundField>
<asp:TemplateField HeaderText="Grant">
<ItemTemplate>
<asp:Label ID="lblCity" runat="server" Text='<%# Eval("Grants")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlCities" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="AU" HeaderText="AU" SortExpression="AU" > <ControlStyle Width="50px" /> </asp:BoundField>
<asp:BoundField DataField="Qty_Req" HeaderText="Qty_Req" SortExpression="Qty_Req" > <ControlStyle Width="100px" /> </asp:BoundField>
<asp:BoundField DataField="Qty_Issue" HeaderText="Qty_Issue" SortExpression="Qty_Issue" > <ControlStyle Width="100px" /> </asp:BoundField>
<asp:BoundField DataField="Qty_NA" HeaderText="Qty_NA" SortExpression="Qty_NA" > <ControlStyle Width="100px" /> </asp:BoundField>
<asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" > <ControlStyle Width="70px" /> </asp:BoundField>
</Columns>
</asp:GridView>
Code Behind
Imports System.Data.SqlClient
Imports System.Data
Partial Class LPR_Initiate
Inherits System.Web.UI.Page
Dim Str As String = ConfigurationManager.ConnectionStrings("Hony_Capt_BVeh_BaijuEP").ConnectionString
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim con2 As New SqlConnection
con2.ConnectionString = ConfigurationManager.ConnectionStrings("Hony_Capt_BVeh_BaijuEP").ConnectionString
con2.Open()
Dim comd4 As New SqlCommand("SELECT DISTINCT Originator_ID from LP_ION where Status='No'", con2)
Dim dab4 As New SqlDataAdapter(comd4)
Dim dsb4 As New DataSet()
dab4.Fill(dsb4)
orgid.Items.Clear()
orgid.DataSource = dsb4
orgid.DataTextField = "Originator_ID"
orgid.DataBind()
orgid.Items.Insert(0, New ListItem("Select"))
End If
End Sub
Protected Sub orgid_SelectedIndexChanged(sender As Object, e As EventArgs) Handles orgid.SelectedIndexChanged
Me.BindGrid()
End Sub
Private Sub BindGrid()
Dim sql As String = "SELECT * FROM LP_ION WHERE Originator_ID='" + orgid.Text + "'"
Dim conString As String = ConfigurationManager.ConnectionStrings("Hony_Capt_BVeh_BaijuEP").ConnectionString
Using con As SqlConnection = New SqlConnection(conString)
Using sda As SqlDataAdapter = New SqlDataAdapter(sql, con)
Using dt As DataTable = New DataTable()
sda.Fill(dt)
gvCustomers.DataSource = dt
gvCustomers.DataBind()
End Using
End Using
End Using
End Sub
Protected Sub RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow AndAlso gvCustomers.EditIndex = e.Row.RowIndex Then
Dim ddlCities As DropDownList = CType(e.Row.FindControl("ddlCities"), DropDownList)
Dim sql As String = "SELECT Grants FROM Fund"
Dim conString As String = ConfigurationManager.ConnectionStrings("Hony_Capt_BVeh_BaijuEP").ConnectionString
Using con As SqlConnection = New SqlConnection(conString)
Using sda As SqlDataAdapter = New SqlDataAdapter(sql, con)
Using dt As DataTable = New DataTable()
sda.Fill(dt)
ddlCities.DataSource = dt
ddlCities.DataTextField = "Grants"
ddlCities.DataValueField = "Grants"
ddlCities.DataBind()
Dim selectedCity As String = DataBinder.Eval(e.Row.DataItem, "Grants").ToString()
ddlCities.Items.FindByValue(selectedCity).Selected = True
End Using
End Using
End Using
End If
End Sub
Protected Sub EditCustomer(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
gvCustomers.EditIndex = e.NewEditIndex
Me.BindGrid()
End Sub
Protected Sub CancelEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
gvCustomers.EditIndex = -1
Me.BindGrid()
End Sub
Protected Sub UpdateCustomer(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
Dim city As String = (TryCast(gvCustomers.Rows(e.RowIndex).FindControl("ddlCities"), DropDownList)).SelectedItem.Value
Dim ION_ID As String = gvCustomers.DataKeys(e.RowIndex).Value.ToString()
Dim conString As String = ConfigurationManager.ConnectionStrings("Hony_Capt_BVeh_BaijuEP").ConnectionString
Using con As SqlConnection = New SqlConnection(conString)
Dim query As String = "UPDATE LP_ION SET Grants = @Grants WHERE ION_ID = @ION_ID"
Using cmd As SqlCommand = New SqlCommand(query, con)
cmd.Parameters.AddWithValue("@ION_ID", ION_ID)
cmd.Parameters.AddWithValue("@Grants", city)
con.Open()
cmd.ExecuteNonQuery()
con.Close()
Response.Redirect(Request.Url.AbsoluteUri)
End Using
End Using
End Sub
Developer technologies | ASP.NET | Other
Developer technologies | ASP.NET | Other
Sign in to answer