Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/04/2013, 08:08
lchaconc
 
Fecha de Ingreso: mayo-2011
Mensajes: 3
Antigüedad: 13 años
Puntos: 0
[Problema de lógica] Agregar filas a un dataTable cuando se necesite

Buen día!, tengo un pequeño problema de lógica a ver si alguien tiene una idea, tengo los siguientes datos de un dataTable:
Código:
Recom   House   49
Recom   Street  47
Recom   Floor   29
Area    House   5
Area    Floor   1
Observ  Floor   1
Pero quiero hacer algo como esto:
Código:
Recom   House   49
Recom   Street  47
Recom   Floor   29
Area    House   5
Area    Street  0
Area    Floor   1
Observ  House   0
Observ  Street  0
Observ  Floor   1
Una de las opciones es agregar Rows al datatable, y otra es hacer algo como esto (cosa que aún no funciona)
Código:
int getTotal = ((from a in dtSerieDrill.AsEnumerable() 
                                             where a.Field<int>("idTipoRevision") == Int32.Parse(dtSerie.Tables[0].Rows[i]["idTipoRevision"].ToString())
                                             select a.Field<string>("TipoRevision")).Distinct()).ToArray().Length;

                            if (getTotal == arrayCat.Length) 
                            {
                                auxData += "{";
                                auxData += "name:'" + dtSerieDrill.Rows[n]["TipoRevision"].ToString() + "',";
                                auxData += "y:" + Double.Parse(dtSerieDrill.Rows[n]["Total"].ToString()) + "";
                                auxData += "},";
                            } else {
                                for (int g = 0; g < arrayCat.Length - 1; g++) 
                                {
arrayCat //categories(house,street,floor,etc)
                                    if (!arrayCat[g].Equals(dtSerieDrill.Rows[n]["Especialidad"].ToString()) && !(totalAux == (g+1))) 
                                    {
                                        auxData += "{";
                                        auxData += "name:'" + arrayCat[g] + "',";
                                        auxData += "y:0";
                                        auxData += "},";
                                        break;
                                    } else {
                                        auxData += "{";
                                        auxData += "name:'" + dtSerieDrill.Rows[n]["TipoRevision"].ToString() + "',";
                                        auxData += "y:" + Double.Parse(dtSerieDrill.Rows[n]["Total"].ToString()) + "";
                                        auxData += "},";
                                        break;
                                    }
                                }
                            }
Creo que sería más fácil añadiendo las filas faltantes, pero no logro identificar cómo podría hacerlo.