Tengo un gridview ASP.net al que estoy intentando enlazar. My DataSource tiene una colección y 2 de las columnas a las que me estoy vinculando son parte de una subclase. My DataSource tiene una subclase llamada Staff que contiene la información del personal. The boundfields SurveyID y NumberOfExceptions se unen bien, pero Staff.Name y Staff.Office no se pueden enlazar.
¿Cómo se vincula una columna gridview a un valor de subclase?
asp:BoundField DataField="SurveyID" HeaderText="ID" ...
asp:BoundField DataField="Staff.Name" HeaderText="Name" ...
asp:BoundField DataField="Staff.Office" HeaderText="Office" ...
asp:BoundField DataField="NumberOfExceptions" HeaderText="Exceptions" ...
Y el código subyacente es:
uxSurveyGrid.DataSource = searchResults;
uxSurveyGrid.DataBind();
Si escribo searchResults[0].Staff.Name
en el código detrás de lo que puedo ver el valor, ¿por qué es el tiempo de ejecución no ser capaz de evaluar Staff.Name en el gridview ?
¿Cómo se unen las columnas a los valores de las subclases? ¿Tengo que hacerlo en código subyacente?
Cualquier ayuda sería apreciada,
Marca.
¿El "Staff" tiene un getter/setter para ello? ¿La clase Staff tiene getter/setters definidos tanto para "Nombre" como para "Office"? Una de las condiciones para DataBinder.Eval (que estoy bastante seguro es lo que BoundField usa para acceder a los datos) es que getter/setters se defina para el valor que se intenta recuperar. –