Foros del Web » Programación para mayores de 30 ;) » .NET »

LLenar un DataSet

Estas en el tema de LLenar un DataSet en el foro de .NET en Foros del Web. Saludos a la comunidad Soy yo otra vez, disculpen que les quite su valioso tiempo, pero no puedo resolver el problema que tengo, estoy trabajando ...
  #1 (permalink)  
Antiguo 23/01/2009, 11:16
Avatar de Srkuen  
Fecha de Ingreso: abril-2008
Mensajes: 39
Antigüedad: 16 años
Puntos: 0
LLenar un DataSet

Saludos a la comunidad

Soy yo otra vez, disculpen que les quite su valioso tiempo, pero no puedo resolver el problema que tengo, estoy trabajando en C#, y tengo un DataGridView y quisiera pasarle los datos que tiene este DataGridView a un DataSet o DataRow o DataTable, nose a cual se le pueden pasar datos en forma desconectada.

Gracias de antemano.
  #2 (permalink)  
Antiguo 23/01/2009, 12:07
 
Fecha de Ingreso: abril-2008
Mensajes: 21
Antigüedad: 16 años
Puntos: 0
Respuesta: LLenar un DataSet

Cita:
Iniciado por Srkuen Ver Mensaje
Saludos a la comunidad

Soy yo otra vez, disculpen que les quite su valioso tiempo, pero no puedo resolver el problema que tengo, estoy trabajando en C#, y tengo un DataGridView y quisiera pasarle los datos que tiene este DataGridView a un DataSet o DataRow o DataTable, nose a cual se le pueden pasar datos en forma desconectada.

Gracias de antemano.
Puedes meterlos en un DataTable haciendo un Cast de la propiedad DataSource del DataGridView:

Código:
DataTable dTable = (DataTable)dataGridView1.DataSource;
//Ponemos nombre al DataTable que siempre viene bien jeje.
dTable.TableName = "TablaPrueba";
Esto despues ya puedes meterlo en un DataSet si quieres:

Código:
DataSet dSet = new DataSet();
dSet.Tables.Add(dTable);
  #3 (permalink)  
Antiguo 23/01/2009, 14:20
Avatar de Srkuen  
Fecha de Ingreso: abril-2008
Mensajes: 39
Antigüedad: 16 años
Puntos: 0
Respuesta: LLenar un DataSet

Gracias por tu respuesta tigerblack me ha ayudado bastante.

Disculpa que abuse de tu amabilidad y confianza pero en el caso de que tengo una columna como checkbox en la cual selecciono que datos voy a pasar y de la cual se como identificarlos por medio del siguiente código:

Código:
foreach (DataGridViewRow row in this.DGVSeleccionDocumentos.Rows)
{
  DataGridViewCheckBoxCell checkboxcell = ((DataGridViewCheckBoxCell)row.Cells[0]);
  if (checkboxcell != null)
  {
    if ((checkboxcell.ValueType.Equals(typeof(bool))) == true)
    {
      if (checkboxcell.Value.Equals(true))
      {
         string x = row.Cells[1].Value.ToString();
         string x = row.Cells.ToString();
         MessageBox.Show("Ver: \n" + VGlobales2.va1[m]); //Valor del checkbox
      }
    }
  }
}
Donde verifico que celdas han sido seleccionadas en el checkbox y en el siguiente codigo puedo mostrar los datos que he seleccionado:

Este me muestra el valor que contiene solo una celda
string x = row.Cells[1].Value.ToString();
Este otro me muestra como una cadena de datos de conexión o algo parecido, no estoy muy seguro de que es:
string x = row.Cells.ToString();

Pero lo que necesito pasarle es toda la fila, y esto es otro que no estoy seguro si al DataTable le puedo ir agregando fila por fila o como se puede hacer para agregarselas o que es lo que debo pasarle al DataTable
  #4 (permalink)  
Antiguo 23/01/2009, 16:19
Avatar de Srkuen  
Fecha de Ingreso: abril-2008
Mensajes: 39
Antigüedad: 16 años
Puntos: 0
Respuesta: LLenar un DataSet

Muchas gracias por tu ayuda, ya me dieron una ayuda para poder resolverlo, esto es lo que me quedo:

Código:
//Función para verificar los campos de los DataGridViewCheckBoxColum y
        //cuantos fueron seleccionados para ser ingresados en la solicitud de envío
        private void BtnAceptar_Click(object sender, EventArgs e)
        {
            //Contador de documentos seleccionados a envíar a custodia
            int m = 0;

            DataTable dataTable = new DataTable();
            //Recorremos las columnas que hay en el DataGridView para copiar la estructura al DataTable.
            foreach (DataGridViewColumn column in this.DGVSeleccionDocumentos.Columns)
            {
                //Como no nos interesa guardar en el DataTable la primera columna,
                //que es la columna que tiene los CheckBox, entonces si el índice es el 0
                //no agregamos la columna al DataTable.
                if (column.Index != 0)
                {
                    dataTable.Columns.Add(column.Name);
                }
            }
            DataGridViewRowCollection gridRowCollection = this.DGVSeleccionDocumentos.Rows;
            //Recorremos las filas que hay en el DataGridView y las copiamos al DataTable.
            foreach (DataGridViewRow gridRow in gridRowCollection)
            {
                DataGridViewCheckBoxCell checkBoxCell = gridRow.Cells[0] as DataGridViewCheckBoxCell;
                if ((checkBoxCell != null) && (checkBoxCell.Value != null) && ((bool)checkBoxCell.Value == true))
                //El usuario ha marcado el CheckBox para la fila que estamos recorriendo.
                {
                    //Agregamos un DataRow al DataTable con los datos que haya a partir de la celda 1.
                    DataRow dataRow = dataTable.Rows.Add(gridRow.Cells[1].Value, gridRow.Cells[2].Value,
                        gridRow.Cells[3].Value, gridRow.Cells[4].Value, gridRow.Cells[5].Value,
                        gridRow.Cells[6].Value, gridRow.Cells[7].Value, gridRow.Cells[8].Value,
                        gridRow.Cells[9].Value, gridRow.Cells[10].Value, gridRow.Cells[11].Value,
                        gridRow.Cells[12].Value, gridRow.Cells[13].Value, gridRow.Cells[14].Value,
                        gridRow.Cells[15].Value, gridRow.Cells[16].Value, gridRow.Cells[17].Value);
                    ++m;
                }
            }
            DataSet ds1 = new DataSet();
            ds1.Tables.Add(dataTable);

            DialogResult dr1 = MessageBox.Show("Se ha seleccionado: \n" + m + " documento(s), " +
                " esta deacuerdo con la selección", "Selección de documentos",
                MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
            if (dr1 == DialogResult.Yes)
            {
                DataSet changes = ds1;
                _dsRowSelected = changes;
                this.Close();
            }
        }
Saludos y que tengas un buen día
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:17.