Moderator |
|
Uhh.. wablief?
Ik weet niet precies hoe die data eruit ziet die erin zit, omdat ik dit niet zo kan bekijken.
Als ik naar de webreference toe ga, de juiste reference pak en op 'view in object browser' kijk en dan naar de juiste methode ga dan staat er onder andere dit:
http://www.elem...rkoen2.gif
Kun je hier wat mee? snap je het dan? Ik snap er niet meer zoveel van.
ps. Als het makkelijker is: mijn msn staat aan, dus mocht je tijd hebben ...
EDIT: Ok ik ben al een stapje verder.
Ik heb nu een aantal functies:
In de controller heb ik dit:
object[] obj = WebservicesNavision.HuurProject() as object[];
ViewData["object"] = this.ConvertToDataTable(obj);
object[] obj = WebservicesNavision.HuurProject() as object[]; ViewData["object"] = this.ConvertToDataTable(obj);
Dan hieronder de functies die hierdoor opgeroepen worden:
public DataTable ConvertToDataTable(Object[] array) {
PropertyInfo[] properties = array.GetType().GetElementType().GetProperties();
DataTable dt = CreateDataTable(properties);
if (array.Length != 0) {
foreach (object o in array)
FillData(properties, dt, o);
}
return dt;
}
public DataTable CreateDataTable(PropertyInfo[] properties) {
DataTable dt = new DataTable();
DataColumn dc = null;
foreach (PropertyInfo pi in properties) {
dc = new DataColumn();
dc.ColumnName = pi.Name;
dc.DataType = pi.PropertyType;
dt.Columns.Add(dc);
}
return dt;
}
public void FillData(PropertyInfo[] properties, DataTable dt, Object o) {
DataRow dr = dt.NewRow();
foreach (PropertyInfo pi in properties) {
dr[pi.Name] = pi.GetValue(o, null);
}
dt.Rows.Add(dr);
}
public DataTable ConvertToDataTable(Object[] array) { PropertyInfo[] properties = array.GetType().GetElementType().GetProperties(); DataTable dt = CreateDataTable(properties); if (array.Length != 0) { foreach (object o in array) FillData(properties, dt, o); } return dt; } public DataTable CreateDataTable(PropertyInfo[] properties) { DataTable dt = new DataTable (); DataColumn dc = null; foreach (PropertyInfo pi in properties) { dc.ColumnName = pi.Name; dc.DataType = pi.PropertyType; dt.Columns.Add(dc); } return dt; } public void FillData(PropertyInfo[] properties, DataTable dt, Object o) { DataRow dr = dt.NewRow(); foreach (PropertyInfo pi in properties) { dr[pi.Name] = pi.GetValue(o, null); } dt.Rows.Add(dr); }
Dit is op zich allemaal goed.
Dan in de view heb ik:
DataTable myTable = ViewData["object"] as DataTable;
int iRow = 0;
int iCol = 0;
for (iRow = 0;iRow < myTable.Rows.Count;iRow++) {
for (iCol = 0;iCol < myTable.Columns.Count;iCol++) {
Response.Write(myTable.Columns[iCol] + "==Hier moeten de values komen<br />");
}
Response.Write("<br />");
}
DataTable myTable = ViewData["object"] as DataTable; int iRow = 0; int iCol = 0; for (iRow = 0;iRow < myTable.Rows.Count;iRow++) { for (iCol = 0;iCol < myTable.Columns.Count;iCol++) { Response.Write(myTable.Columns[iCol] + "==Hier moeten de values komen<br />"); } Response.Write("<br />"); }
Nu is het enige probleem dat ik geen values kan vinden in die dataTable. Weet iemand hoe ik die kan vinden (of kan toevoegen als dit niet gebeurd in de bovenstaande functies)? |