Heey people,
Ben weer eens vastgelopen op een .NET iets.
Ik heb een loop waarin een aantal buttons worden gemaakt aan de hand van het aantal rows in de database. Deze buttons zijn om actien op een record uit te kunnen voeren.
Echter wordt de Button.Command niet uitgevoerd de eerste keer. Pas na een postback en een klik op dezelfde button wordt ie pas uitgevoerd.
Misschien logisch.. omdat de 'show' functie voor de event handling functie wordt uitgevoerd.
Als ik de show functie in de eventhandling functie aanroep, met het idee: 'eerst data muteren, dan laden en showen', dan worden de command event van die buttons ook niet uitgevoerd en dus wordt de show functie ook niet uitgevoerd.
Beide ideeen van mij lopen dus niet goed. Ik heb geen idee hoe ik dit kan oplossen
Stukkie code:
De show functie. Wordt aangeroepen in de Page_Load
En de commandeventhandler
Ben weer eens vastgelopen op een .NET iets.
Ik heb een loop waarin een aantal buttons worden gemaakt aan de hand van het aantal rows in de database. Deze buttons zijn om actien op een record uit te kunnen voeren.
Echter wordt de Button.Command niet uitgevoerd de eerste keer. Pas na een postback en een klik op dezelfde button wordt ie pas uitgevoerd.
Misschien logisch.. omdat de 'show' functie voor de event handling functie wordt uitgevoerd.
Als ik de show functie in de eventhandling functie aanroep, met het idee: 'eerst data muteren, dan laden en showen', dan worden de command event van die buttons ook niet uitgevoerd en dus wordt de show functie ook niet uitgevoerd.
Beide ideeen van mij lopen dus niet goed. Ik heb geen idee hoe ik dit kan oplossen
Stukkie code:
De show functie. Wordt aangeroepen in de Page_Load
Java:
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
| private void ShowHolliday(int id) { Response.Write("ShowHoliday()<br>"); try{ CDataRet dataRet = new CDataRet(); ArrayList al = new ArrayList(); al = dataRet.getHollidays(id); tblHollidayView.Rows.Clear(); TableRow trHeader = new TableRow(); TableCell tdHeader = new TableCell(); // table header tdHeader.Text="<b>Actions</b>"; trHeader.Cells.Add(tdHeader); tdHeader = new TableCell(); tdHeader.Text="<b>Type</b>"; trHeader.Cells.Add(tdHeader); tdHeader = new TableCell(); tdHeader.Text="<b>Owner</b>"; trHeader.Cells.Add(tdHeader); tdHeader = new TableCell(); tdHeader.Text="<b>Starttime</b>"; trHeader.Cells.Add(tdHeader); tdHeader = new TableCell(); tdHeader.Text="<b>Endtime</b>"; trHeader.Cells.Add(tdHeader); tdHeader = new TableCell(); tdHeader.Text="<b>Approved</b>"; trHeader.Cells.Add(tdHeader); tdHeader = new TableCell(); tdHeader.Text="<b>Deleted</b>"; trHeader.Cells.Add(tdHeader); tdHeader.Dispose(); tblHollidayView.Rows.Add(trHeader); trHeader.Dispose(); IEnumerator e = al.GetEnumerator(); while (e.MoveNext()) { TableRow tr = new TableRow(); TableCell td = new TableCell(); Button btnAlter = new Button(); btnAlter.CssClass = "buttonAction"; btnAlter.CommandName = "alter"; btnAlter.CommandArgument = Convert.ToString(((CHolliday)e.Current).Id); btnAlter.Command+=new CommandEventHandler(requestManMutation); btnAlter.Attributes.Add("onClick","openRequestWindow('"+Convert.ToString(((CHolliday)e.Current).Id)+"')"); btnAlter.Text="Alter"; td.Controls.Add(btnAlter); if (((CUser)Session["user"]).Employeeid != id || ((CUser)Session["user"]).Managerid == id){ Button btnPurge = new Button(); btnPurge.CssClass = "buttonAction"; btnPurge.CommandName = "purge"; btnPurge.CommandArgument = Convert.ToString(((CHolliday)e.Current).Id); btnPurge.Command+=new CommandEventHandler(requestManMutation); btnPurge.Text = "Delete"; td.Controls.Add(btnPurge); Button btnApprove = new Button(); btnApprove.CssClass = "buttonAction"; btnApprove.CommandName = "approve"; btnApprove.CommandArgument = Convert.ToString(((CHolliday)e.Current).Id); btnApprove.Command+=new CommandEventHandler(requestManMutation); btnApprove.Text = "Approve"; td.Controls.Add(btnApprove); } else { Button btnDelete = new Button(); btnDelete.CssClass = "buttonAction"; btnDelete.CommandName = "delete"; btnDelete.CommandArgument = Convert.ToString(((CHolliday)e.Current).Id); btnDelete.Command+=new CommandEventHandler(requestManMutation); btnDelete.Text = "Delete"; td.Controls.Add(btnDelete); } tr.Cells.Add(td); td = new TableCell(); td.Text = ((CHolliday)e.Current).TypeName; tr.Cells.Add(td); td = new TableCell(); td.Text = ((CHolliday)e.Current).OwnerName; tr.Cells.Add(td); td = new TableCell(); td.Text = ((DateTime)((CHolliday)e.Current).StartDate).ToString(); tr.Cells.Add(td); td = new TableCell(); td.Text = ((DateTime)((CHolliday)e.Current).EndDate).ToString(); tr.Cells.Add(td); td = new TableCell(); bool approved = ((CHolliday)e.Current).Approved; if (approved) { td.Text = "True"; } else { td.Text = "False"; } tr.Cells.Add(td); td = new TableCell(); bool deleted = ((CHolliday)e.Current).Deleted; if (deleted) { td.Text = "True"; } else { td.Text = "False"; } tr.Cells.Add(td); td.Dispose(); tblHollidayView.Rows.Add(tr); tr.Dispose(); } Response.Write("bla"); } catch(Exception ae) { Response.Write(ae.StackTrace.ToString()+" "+ae.Message.ToString()); } } |
En de commandeventhandler
Java:
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
| private void requestManMutation(Object sender, CommandEventArgs e) { CDataRet dataRet = new CDataRet(); Response.Write("requestManMutation()<br>"); if ((e.CommandName).Equals("delete")) { dataRet.deleteRow(Convert.ToInt32(e.CommandArgument)); } if ((e.CommandName).Equals("purge")) { dataRet.purgeRow(Convert.ToInt32(e.CommandArgument)); } if ((e.CommandName).Equals("approve")) { dataRet.approveRow(Convert.ToInt32(e.CommandArgument)); } Response.Write("<br><br><br>___________________"+e.CommandName + "_" + e.CommandArgument +"<BR>"); /* if (Session["user"] != null){ if (ddlEmployee.SelectedItem != null && ((CUser)Session["user"]).Employeeid != Convert.ToInt32(ddlEmployee.SelectedItem.Value)) ShowHolliday(Convert.ToInt32(ddlEmployee.SelectedItem.Value)); else ShowHolliday(((CUser)Session["user"]).Employeeid); } else { Response.Write("fok....null<br>"); } */ } |
[ Voor 34% gewijzigd door Verwijderd op 21-03-2003 14:12 ]