El caso es que un apartado del programa es sobre control de tiempo trabajado, de modo que los usuarios finales tendrán una lista de tareas en un DataGrid, y al seleccionar con un doble click una tarea, un reloj empezará a sumar tiempo, que finalmente se guardará en la Base de Datos. Ese campo en BD es de tipo DateTime, y yo lo que necesito es que en el DataGrid solo se reflejen HH:MM:SS, no la fecha. Del SOAP me traigo el DataSet, y ya en la aplicación, selecciono únicamente la hora con este código:
Código:
Pero este código no funciona por que el DataGrid (DG) hereda los tipos de datos del DataSet, y al hacer esta operación:private void grilla() { llamada = new Service1(); DateTime[] hora = new DateTime[llamada.contar(Decimal.Parse(ident.Text))]; DataSet ds = new DataSet(); ds = llamada.rellena_grilla(Decimal.Parse(ident.Text)); DG.DataSource = ds; int i; for (i = 0; i <= llamada.contar(Decimal.Parse(ident.Text)); i++) { hora[i] = DateTime.Parse(ds.Tables["Tareas"].Rows[i][2].ToString()); DG[i,2] = hora[i].ToLongTimeString(); } }
DG[i,2] = hora[i].ToLongTimeString();
estoy asignando un tipo string a un tipo DateTime.
Lo que necesito es que al traerme el DataSet, pueda acceder al esquema antes de cargar el DataGrid y donde dice algo así como:
<xs:element name="tiempo" type="DateTime" />
(No recuerdo si la línea era exactamente así, pero no tengo acceso a la BD ahora mismo con lo que no puedo ejecutar el SOAP para ver el esquema del DataSet)
Pues donde dice el tipo de dato DateTime, cambiarlo por string.
Pues todo este rollo para eso, ¿Como puedo cambiar en el esquema de un DataSet el tipo de dato antes de hacer nada con él?
Muchas gracias de ante mano.
Un saludo.