Ik loop al bijna 4 dagen tegen dit frustrerende probleem aan:
Ik heb een gridview waarin ik een categorie kies. Vervolgens toont zich een nieuwe gridview op dezelfde pagina waarin de medewerkers staan die iets met de taken uit de gekozen categorie te maken hebben. In die tweede gridview heb ik één templatecollumn waarin een dropdownlist is opgenomen in 'edititemtemplate' welke gevuld wordt met waarden vanuit een sqldatasource. Weergave van dit alles werkt. Een druk op de edit-knop levert netjes een bewerkbare regel met een correct gevulde dropdownlist. Zelfs het juiste item staat standaard geselecteerd in de dorpdownlist.
Nu het probleem: Wanneer ik op Update klik dan wordt de waarde niet geupdate in de database. Ik heb de update-query al los getest en die werkt gewoon goed. Ik krijg overigen geen foutmelding te zien. Ik heb veel artikelen gelezen over het binden van dropdownlists en deze ook geprobeerd toe te passen maar blijkbaar zit er ergens iets in mijn code verkeerd
Mijn code:
Wie wijst me op die achterlijke fout die ik blijkbaar maak!!!
Ik heb een gridview waarin ik een categorie kies. Vervolgens toont zich een nieuwe gridview op dezelfde pagina waarin de medewerkers staan die iets met de taken uit de gekozen categorie te maken hebben. In die tweede gridview heb ik één templatecollumn waarin een dropdownlist is opgenomen in 'edititemtemplate' welke gevuld wordt met waarden vanuit een sqldatasource. Weergave van dit alles werkt. Een druk op de edit-knop levert netjes een bewerkbare regel met een correct gevulde dropdownlist. Zelfs het juiste item staat standaard geselecteerd in de dorpdownlist.
Nu het probleem: Wanneer ik op Update klik dan wordt de waarde niet geupdate in de database. Ik heb de update-query al los getest en die werkt gewoon goed. Ik krijg overigen geen foutmelding te zien. Ik heb veel artikelen gelezen over het binden van dropdownlists en deze ook geprobeerd toe te passen maar blijkbaar zit er ergens iets in mijn code verkeerd
Mijn code:
ASP.NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
| <%@ Page Language="VB" AutoEventWireup="false" CodeFile="UserAssignment.aspx.vb" Inherits="Kwaliteit_Test_UserAssignment" %> <%@ Register Assembly="InsGrid" Namespace="InsGrid" TagPrefix="cc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div><asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <cc1:InsertableGrid ID="MaintenanceEvents" runat="server" AllowInsert="True" AutoGenerateColumns="False" DataKeyNames="MaintenanceID" DataSourceID="SqlDataSource1" > <Columns> <asp:BoundField visible=false DataField="MaintenanceID" HeaderText="MaintenanceID" /> <asp:BoundField DataField="MaintenanceDescr" HeaderText="Omschrijving" SortExpression="MaintenanceDescr" /> <asp:CommandField ShowDeleteButton="True" ButtonType="Button" ShowEditButton="True" ShowSelectButton="True" /> </Columns> <SelectedRowStyle BackColor=Yellow /> </cc1:InsertableGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CTUDBConnectionString %>" SelectCommand="SELECT [MaintenanceID], [MaintenanceDescr] FROM [tbl_Q_MaintenanceEvents]" InsertCommand="INSERT INTO tbl_Q_MaintenanceEvents(MaintenanceDescr) VALUES (@maintenanceDescr)" DeleteCommand="UPDATE FROM tbl_Q_MaintenanceEvents WHERE (MaintenanceID = @MaintenanceID)" UpdateCommand="UPDATE tbl_Q_MaintenanceEvents SET MaintenanceDescr = @MaintenanceDescr WHERE (MaintenanceID = @MaintenanceID)"> <DeleteParameters> <asp:Parameter Name="MaintenanceID" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="MaintenanceDescr" /> <asp:Parameter Name="MaintenanceID" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="MaintenanceDescr" /> </InsertParameters> </asp:SqlDataSource> <hr noshade /> Toegewezen gebruikers: <br /> <asp:gridview ID="User_Assigned_Task" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource3"> <Columns> <asp:BoundField visible=true ReadOnly=true DataField="AssignmentID" HeaderText="AssignmentID" /> <asp:TemplateField HeaderText="Username" > <EditItemTemplate> <asp:DropDownList ID=ddl_UserName runat=server DataSourceID=UserNames DataTextField=FullName DataValueField=userKey selectedvalue=<%# Bind("userKey") %> /> </EditItemTemplate> <ItemTemplate><asp:Label runat="server" id="lbl_Username" Text='<%# Bind("FullName") %>'/> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Telefoonnummer"> <itemtemplate> <asp:Label id="Telefoonnummer" runat="server" Text='<%# Bind("tel_VUmc") %>'></asp:Label> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Start Datum" SortExpression="StartDate"> <edititemtemplate> <asp:TextBox id="StartDate" runat="server" Text='<%# Bind("StartDate") %>'></asp:TextBox> <ajaxToolkit:CalendarExtender id="CalendarExtender1" runat="server" Format="dd-MM-yyyy" TargetControlID="StartDate"></ajaxToolkit:CalendarExtender> </edititemtemplate> <itemtemplate> <asp:Label runat="server" Text='<%# Bind("StartDate") %>' id="Label2"></asp:Label> </itemtemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Eind Datum" SortExpression="EndDate"> <edititemtemplate> <asp:TextBox id="EndDate" runat="server" Text='<%# Bind("EndDate") %>'></asp:TextBox> <ajaxToolkit:CalendarExtender id="CalendarExtender2" runat="server" Format="dd-MM-yyyy" TargetControlID="EndDate"></ajaxToolkit:CalendarExtender> </edititemtemplate> <itemtemplate> <asp:Label runat="server" Text='<%# Bind("EndDate") %>' id="Label3"></asp:Label> </itemtemplate> </asp:TemplateField> <asp:CommandField ShowEditButton="True" buttontype="Button" /> </Columns> </asp:gridview> <asp:SqlDataSource ID="UserNames" runat="server" ConnectionString="<%$ ConnectionStrings:CTUDBConnectionString %>" SelectCommand="SELECT UserKey, (Voornaam + ' ' + Achternaam) As FullName From tbl_UserID"></asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:CTUDBConnectionString %>" InsertCommand="INSERT INTO tbl_Q_Maintenance_Assigned_to_User(userKey, MaintenanceTask, StartDate, EndDate) VALUES (@userKey, @MaintenanceID, @StartDate, @EndDate)" SelectCommand="SELECT tbl_Q_Maintenance_Assigned_to_User.AssignmentID, tbl_UserID.UserKey, (tbl_UserID.Voornaam + ' ' + tbl_UserID.Achternaam) As FullName, tbl_UserID.tel_VUmc, tbl_Q_Maintenance_Assigned_to_User.StartDate, tbl_Q_Maintenance_Assigned_to_User.EndDate FROM tbl_Q_Maintenance_Assigned_to_User INNER JOIN tbl_UserID ON tbl_Q_Maintenance_Assigned_to_User.userKey = tbl_UserID.UserKey WHERE (tbl_Q_Maintenance_Assigned_to_User.MaintenanceTask = @MaintenanceID) ORDER BY tbl_Q_Maintenance_Assigned_to_User.EndDate" UpdateCommand="UPDATE tbl_Q_Maintenance_Assigned_to_User SET StartDate = @StartDate, EndDate = @StartDate, userKey = @UserKey WHERE (AssignmentID = @AssignmentID)"> <SelectParameters> <asp:ControlParameter ControlID="MaintenanceEvents" Name="MaintenanceID" PropertyName="SelectedValue" /> </SelectParameters> <InsertParameters> <asp:Parameter Name=userKey Type=Int32 /> <asp:ControlParameter ControlID="MaintenanceEvents" PropertyName="SelectedValue" Name="MaintenanceID" /> <asp:Parameter Name="StartDate" /> <asp:Parameter Name="EndDate" /> </InsertParameters> <UpdateParameters> <asp:Parameter Name="EndDate" Type=DateTime /> <asp:Parameter Name="StartDate" Type=DateTime /> <asp:Parameter Name="userKey" Type=Int32 /> <asp:Parameter Name="AssignmentID" /> </UpdateParameters> </asp:SqlDataSource> </div> </form> </body> </html> |
Wie wijst me op die achterlijke fout die ik blijkbaar maak!!!