Hallo ik ben op het moment bezig om een pagina te maken waarop je de menu volgorde kan bepalen van een bepaald deel van een site. Op de website genereer ik het menu dat ik eerst kijk of er een pagina onder de site hangt en vervolgens of customLink bij hangt..
Dit zijn twee tabellen waar ik in kijk en om de volgorde te bepalen gebruik ik een DataSet waar ik een eigen dataTable maak en de items van die bepaalde site in stop.
Nu gebruik het Reorderlist Component uit het C# atlastoolkit, om de volgorde te bepalen.
In mijn pagina heb een reorderlist compontent met een datasource object wat gelinkt is aan een class met de method fill, die de dataset returnt.
Nu heb ik aan het reorder een event gehangen wanneer er eentje versleept wordt naar een andere plaats dat er een "_ItemReorder" event wordt afgevuurd , waar ik ReorderListItemReorderEventArgs van mee krijg, in deze ReorderListItemReorderEventArgs staat alleen Item, OldIndex en NewIndex, ik kan van Item een index nummer terug krijgen van het item, maar waar moet ik dat index nummer aan terugkoppelen om mijn overige geselecteerde velden terug te krijgen die ik mijn dataset heb gedaan?
Dit zijn twee tabellen waar ik in kijk en om de volgorde te bepalen gebruik ik een DataSet waar ik een eigen dataTable maak en de items van die bepaalde site in stop.
Nu gebruik het Reorderlist Component uit het C# atlastoolkit, om de volgorde te bepalen.
In mijn pagina heb een reorderlist compontent met een datasource object wat gelinkt is aan een class met de method fill, die de dataset returnt.
C#:
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
| public DataSet Fill(string siteID) { DataSet ds = new DataSet(); DataTable dt = new DataTable(); DataColumn Naam = new DataColumn("Naam"); DataColumn Type = new DataColumn("Type"); DataColumn ID = new DataColumn("ID"); DataColumn menuOrder = new DataColumn("menuOrder"); dt.Columns.Add(Naam); dt.Columns.Add(Type); dt.Columns.Add(ID); dt.Columns.Add(menuOrder); SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["amc"].ConnectionString); connection.Open(); SqlCommand command = new SqlCommand("SELECT paginaID, Naam, menuOrder, Type = 'pagina' FROM paginas WHERE siteID = @siteID;", connection); command.Parameters.AddWithValue("@siteID", siteID); SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { DataRow row = dt.NewRow(); row[Naam] = reader["Naam"]; row[Type] = reader["Type"]; row[ID] = reader["paginaID"]; row[menuOrder] = reader["menuOrder"]; dt.Rows.Add(row); } } reader.Close(); reader = null; command.CommandText = "SELECT customLinkID, Naam, menuOrder, Type = 'customLinks' FROM customLinks WHERE siteID = @siteID;"; reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { DataRow row = dt.NewRow(); row[Naam] = reader["Naam"]; row[Type] = reader["Type"]; row[ID] = reader["customLinkID"]; row[menuOrder] = reader["menuOrder"]; dt.Rows.Add(row); } } reader.Close(); connection.Close(); dt.DefaultView.Sort = "menuOrder ASC"; ds.Tables.Add(dt); return ds; } |
Nu heb ik aan het reorder een event gehangen wanneer er eentje versleept wordt naar een andere plaats dat er een "_ItemReorder" event wordt afgevuurd , waar ik ReorderListItemReorderEventArgs van mee krijg, in deze ReorderListItemReorderEventArgs staat alleen Item, OldIndex en NewIndex, ik kan van Item een index nummer terug krijgen van het item, maar waar moet ik dat index nummer aan terugkoppelen om mijn overige geselecteerde velden terug te krijgen die ik mijn dataset heb gedaan?