Pardon my ignorance on this. The below code works, except, when I edit
a record and update the two drop downs take the first entry in the
dropdownlist if not selected. I'd also like the dropdown to show the
current value in edit mode. I'm sure this is a common question. I've
reviewed several related post and tried them out to no avial. Some of
the offerings in listgroup look right on, but are not clear on where to
handle the suggested events.
Thanks for any help or information :
<%@ Page Language="VB" Debug=true%>
<%@ import Namespace="Syst em.Data" %>
<%@ import Namespace="Syst em.Data.OleDb" %>
<%@ import Namespace="Syst em.String" %>
<%@ import Namespace="Syst em.Web.Mail" %>
<script runat="server">
Sub Page_Load(sende r As Object, e As EventArgs)
If Not IsPostBack Then
BindData()
End If
End Sub
Public Sub BindData()
Dim objConn as new
OleDbConnection ("Provider=Micr osoft.Jet.OLEDB .4.0; Data Source=db.mdb")
objConn.Open()
Dim oaUser As OleDbDataAdapte r
Dim UserDS as DataSet = New DataSet()
oaUser = New OleDbDataAdapte r("Select * FROM appworx", objConn)
oaUser.Fill(Use rDS,"appworx")
objConn.Close
UserGrid.DataSo urce = UserDS.Tables(" appworx")
UserGrid.DataBi nd()
End Sub
Public Sub UserGrid_Edit (Source As Object, E As
DataGridCommand EventArgs)
UserGrid.EditIt emIndex = E.Item.ItemInde x
BindData()
End Sub
Public Sub UserGrid_Cancel (Source As Object, E As
DataGridCommand EventArgs)
UserGrid.EditIt emIndex = -1
BindData()
End Sub
Public Sub UserGrid_Update (Source As Object, E As
DataGridCommand EventArgs)
Dim objConn as new
OleDbConnection ("Provider=Micr osoft.Jet.OLEDB .4.0; Data Source=db.mdb")
Dim cmd As OleDbCommand = new OleDbCommand ("UPDATE appworx SET
responsible=@re sponsible,statu s=@sstatus,wait ingon=@swaiting on,comments=@co mments
WHERE chain=@chain", objConn)
Dim schain As String = e.Item.Cells(2) .text
Dim sresponsible As String =
CType(e.Item.fi ndcontrol("resp onsible"),
Dropdownlist).S electedItem.val ue
Dim sstatus As String = CType(e.Item.fi ndcontrol("stat us"),
Dropdownlist).S electedItem.val ue
Dim swaitingon As String = CType(e.Item.Ce lls(5).Controls (0),
TextBox).Text
Dim scomments As String = CType(e.Item.Ce lls(6).Controls (0),
TextBox).Text
cmd.Parameters. Add(new OleDbParameter( "@responsib le",
sresponsible))
cmd.Parameters. Add(new OleDbParameter( "@status", sstatus))
cmd.Parameters. Add(new OleDbParameter( "@waitingon",sw aitingon))
cmd.Parameters. Add(new OleDbParameter ("@comments",sc omments))
cmd.Parameters. Add(new OleDbParameter( "@chain", schain))
objConn.Open()
cmd.ExecuteNonQ uery()
objConn.Close
UserGrid.EditIt emIndex = -1
BindData()
End Sub
Public Sub UserGrid_Comman d(sender As Object, e As
DataGridCommand EventArgs)
Select (CType(e.Comman dSource, LinkButton)).Co mmandName
Case "Delete"
Dim objConn as new
OleDbConnection ("Provider=Micr osoft.Jet.OLEDB .4.0; Data Source=db.mdb")
Dim cmd As OleDbCommand = new OleDbCommand("D ELETE FROM
appworx WHERE chain = @chain", objConn)
cmd.Parameters. Add(new OleDbParameter( "@chain",
e.Item.Cells(2) .Text))
objConn.Open()
cmd.ExecuteNonQ uery()
objConn.Close
Case Else
' Do Nothing
End Select
BindData()
End Sub
Public Sub UserGrid_ItemCr eated(sender As Object, e As
DataGridItemEve ntArgs)
Select Case e.Item.ItemType
Case ListItemType.It em, ListItemType.Al ternatingItem,
ListItemType.Ed itItem
' Add confirmation to Delete button
Dim tblCell As TableCell
Dim btnDelete As LinkButton
tblCell = e.Item.Cells(1)
btnDelete = tblCell.Control s(0)
btnDelete.Attri butes.Add("oncl ick", "return confirm('Are you
sure you want to delete?');")
End Select
End Sub
Public Sub newrec_Click(se nder As Object, e As EventArgs)
addrecord.visib le = false
addinsert.visib le = true
AddCancel.Visib le = true
addchain.Visibl e = true
addresponsible. Visible = true
addstatus.Visib le = true
addwaitingon.Vi sible = true
addcomments.Vis ible = true
End Sub
Public Sub Insert_Click(se nder As Object, e As EventArgs)
Dim objConn as new
OleDbConnection ("Provider=Micr osoft.Jet.OLEDB .4.0; Data Source=db.mdb")
Dim cmd As OleDbCommand = new OleDbCommand("I NSERT INTO appworx
(chain, responsible,sta tus,waitingon,c omments)
values(@chain,@ responsible,@st atus,@waitingon ,@comments)", objConn)
cmd.Parameters. Add(new OleDbParameter( "@chain", Addchain.Text))
cmd.Parameters. Add(new OleDbParameter( "@responsib le",
Addresponsible. Text))
cmd.Parameters. Add(new OleDbParameter( "@status", Addstatus.Text) )
cmd.Parameters. Add(new OleDbParameter( "@waitingon ",
Addwaitingon.Te xt))
cmd.Parameters. Add(new OleDbParameter( "@comments" ,
Addcomments.Tex t))
objConn.Open()
cmd.ExecuteNonQ uery()
objConn.Close
addrecord.visib le = true
addinsert.visib le = false
AddCancel.Visib le = false
addchain.Visibl e = false
addresponsible. Visible = false
addstatus.Visib le = false
addwaitingon.Vi sible = false
addcomments.Vis ible = false
BindData()
End Sub
Public Sub AddCancel_Click (sender As Object, e As EventArgs)
addrecord.visib le = true
addinsert.visib le = false
addcancel.Visib le = false
addchain.Visibl e = false
addresponsible. Visible = false
addstatus.Visib le = false
addwaitingon.Vi sible = false
addcomments.Vis ible = false
' Reset text fields (for next time)
addchain.text = ""
addresponsible. text = ""
addstatus.text = ""
addwaitingon.te xt = ""
addcomments.tex t = ""
End Sub
</script>
<html>
<head>
</head>
<body>
<form method="post" runat="server">
<table bgcolor=lightgr ey border=0>
<tr>
<td span=2 width=160px><as p:linkbutton id ="AddRecord"
width=40px Text="New" runat="server" visible="true"
onClick="NewRec _Click" /> </td>
<td width=70px>Chai n</td>
<td width=100px>Res ponsible</td>
<td width=100px>Sta tus</td>
<td width=100px>Wai ting On</td>
<td width=300px>Com ments</td>
</tr>
<tr>
<td span=2 width=160px>
<asp:linkbutt on id ="AddInsert" Text="Update" runat="server"
visible="false" onClick="Insert _Click" />
<asp:linkbutt on id="AddCancel" Text="Cancel" runat="server"
visible="false" onClick="AddCan cel_Click"/></td>
<td ><asp:textbox id="Addchain" width=70px runat="server"
visible="false" /></td>
<td><asp:textbo x id="Addresponsi ble" width=100px runat="server"
visible="false" /></td>
<td><asp:textbo x id="Addstatus" width=100px runat="server"
visible="false"/></td>
<td><asp:textbo x id="Addwaitingo n" width=100px runat="server"
visible="false" /></td>
<td><asp:textbo x id="Addcomments " width=300px runat="server"
visible="false" /></td>
</table>
<asp:datagrid id="UserGrid" runat=server AutoGenerateCol umns=false
BorderStyle="Do tted" BorderWidth="2"
BackgroundColor ="red"
CellPadding="5"
Font-Name="Arial" Font-Size="10pt"
OnEditCommand=" UserGrid_Edit"
OnCancelCommand ="UserGrid_Canc el"
OnUpdateCommand ="UserGrid_Upda te"
OnItemCommand=" UserGrid_Comman d"
OnItemCreated=" UserGrid_ItemCr eated">
<EditItemStyl e BackColor="yell ow">
</EditItemStyle>
<ItemStyle Wrap="false">
</ItemStyle>
<Columns>
<asp:EditComman dColumn
ButtonType ="LinkButton "
CancelText = "Cancel"
EditText = "Edit"
UpdateText = "Update"
<itemstyle width=100px />
</asp:EditCommand Column>
<asp:ButtonColu mn
ButtonType="Lin kButton"
Text="Delete"
CommandName="De lete"/>
<asp:BoundColum n DataField = "chain" ReadOnly = true >
<itemstyle width=70px />
</asp:BoundColumn >
<asp:TemplateCo lumn SortExpression= "responsibl e" >
<itemstyle width=100px />
<ItemTemplate >
<asp:Label Text='<%# Container.DataI tem("responsibl e") %>'
runat="server" ID="Llbresp"/>
</ItemTemplate>
<EditItemTempla te>
<asp:DropDownLi st runat="server" id="responsible ">
<asp:ListItem value="x">x</asp:ListItem>
<asp:ListItem value="y">y</asp:ListItem>
<asp:ListItem value="z">z</asp:ListItem>
<asp:ListItem value="g">g</asp:ListItem>
</asp:DropDownLis t>
</EditItemTemplat e>
</asp:TemplateCol umn>
<asp:TemplateCo lumn>
<itemstyle width=100px />
<ItemTemplate >
<asp:Label runat="server" Text='<%# Container.DataI tem("status")
%>' ID="Llbstat"/>
</ItemTemplate>
<EditItemTempla te>
<asp:DropDownLi st runat="server" id="status">
<asp:ListItem value="Pending" >Pending</asp:ListItem>
<asp:ListItem value="Developi ng">Developin g</asp:ListItem>
<asp:ListItem value="Testing" >Testing</asp:ListItem>
<asp:ListItem value="Hold">Ho ld</asp:ListItem>
<asp:ListItem value="Passed"> Passed</asp:ListItem>
<asp:ListItem value="Delete"> Delete</asp:ListItem>
</asp:DropDownLis t>
</EditItemTemplat e>
</asp:TemplateCol umn>
<asp:BoundColum n DataField = "waitingon" >
<itemstyle width=100px />
</asp:BoundColumn >
<asp:BoundColum n DataField = "comments">
<itemstyle width=300px />
</asp:BoundColumn >
</Columns>
</asp:datagrid>
</form>