¿Cómo convierte Kendo grid la lista de referencias de objetos en las columnas de la fila principal en una nueva fila debajo de la fila principal?
Tengo una cuadrícula de datos a continuación, ¿cómo puedo hacer para que la cuadrícula de Kendo muestre algo así?
[ ] | num | mes | inicio | fin | semana | num | inicio | fin | hora | Bloqueo |
---|---|---|---|---|---|---|---|---|---|---|
[x] | 7 | Julio | 07/05 | 07/05 | ||||||
semana 1 | 1 | 07/05 | 07/05 | 40 | Sí | |||||
semana 2 | 2 | 07/05 | 07/05 | 40 | No | |||||
semana 3 | 3 | 07/05 | 07/05 | 40 | NO | |||||
semana 4 | 4 | 07/05 | 07/05 | 40 | Sí | |||||
[x] | 8 | Agosto | 08/07 | 08/05 | ||||||
semana 1 | 1 | 08/05 | 08/05 | 40 | Sí | |||||
semana 2 | 2 | 08/05 | 08/05 | 40 | No | |||||
semana 3 | 3 | 08/05 | 08/05 | 40 | Sí | |||||
semana 4 | 4 | 08/05 | 08/05 | 40 | Sí | |||||
[x] | 9 | Septiembre | 09/05 | 09/05 | ||||||
semana 1 | 1 | 09/05 | 09/05 | 40 | Sí | |||||
semana 2 | 2 | 09/05 | 09/05 | 40 | No | |||||
semana 3 | 3 | 09/05 | 09/05 | 40 | Sí | |||||
semana 4 | 4 | 09/05 | 09/05 | 40 | No |
Creé 2 modelos con una relación uno a muchos.
Month.cs
public int Id { get; set; }
public int num { get; set; }
public string month{ get; set;}
public DateTime Start { get; set; }
public DateTime End { get; set; }
public List
Week.cs
public int Id { get; set; }
public int num{ get; set; }
public string week { get; set;}
public DateTime Start { get; set; }
public DateTime End { get; set; }
public int hours { get; set; }
public Boolean Lock { get; set; }
public int MonthId { get; set; }
public Month Months { get; set; }
Solo puedo hacer que la cuadrícula de Kendo muestre uno de los 2 modelos anteriores de esta manera:
Month.cs
[ ] | num | mes | inicio | fin |
---|---|---|---|---|
[x] | 7 | Julio | 07/05 | 07/05 |
[x] | 8 | Agosto | 08/05 | 08/05 |
[x] | 9 | Septiembre | 09/05 | 0/05 |
Week.cs
[ ] | semana | num | inicio | fin | hora | Bloqueo |
---|---|---|---|---|---|---|
[x] | semana 1 | 1 | 07/05 | 09/05 | 40 | Sí |
[x] | semana 2 | 2 | 07/05 | 09/05 | 40 | No |
[x] | semana 3 | 3 | 07/05 | 09/05 | 40 | Sí |
[x] | semana 4 | 4 | 07/05 | 09/05 | 40 | No |
[x] | semana 1 | 1 | 08/05 | 09/05 | 40 | Sí |
[x] | semana 2 | 2 | 08/05 | 09/05 | 40 | No |
[x] | semana 3 | 3 | 08/05 | 09/05 | 40 | Sí |
[x] | semana 4 | 4 | 08/05 | 09/05 | 40 | No |
[x] | semana 1 | 1 | 09/05 | 09/05 | 40 | Sí |
[x] | semana 2 | 2 | 09/05 | 09/05 | 40 | No |
[x] | semana 3 | 3 | 09/05 | 09/05 | 40 | Sí |
[x] | semana 4 | 4 | 09/05 | 09/05 | 40 | No |
Si uso ViewModel con ambas propiedades de Month.cs y Week.cs, la cuadrícula de Kendo se verá así:
[ ] | num | mes | inicio | fin | semana | num | inicio | fin | hora | Bloqueo |
---|---|---|---|---|---|---|---|---|---|---|
[x] | 7 | Julio | 07/05 | 07/05 | semana 1 | 1 | 07/05 | 07/05 | 40 | Sí |
[x] | 8 | Agosto | 08/07 | 08/05 | semana 1 | 1 | 08/05 | 08/05 | 40 | Sí |
[x] | 9 | Septiembre | 09/05 | 09/05 | semana 1 | 1 | 09/05 | 09/05 | 40 | Sí| |
davy.ai
Para mostrar el grid de Kendo como se muestra en la pregunta, se puede usar un grid jerárquico con Mes como padre y Semana como hijo. Aquí están los pasos para lograr esto:
“`
.k-grid.child {
width: 100%;
border-collapse: collapse;
margin-bottom: 10px;
}
.k-grid.child th {
background-color: #f7f7f7;
border: 1px solid #ddd;
padding: 8px;
font-weight: bold;
text-align: left;
}
.k-grid.child td {
border: 1px solid #ddd;
padding: 8px;
}
.k-grid.child tr:nth-child(even) {
background-color: #f7f7f7;
}
“`