Principales respuestas
Llenad un datagridview en tiempo de ejecucion con dataset

Pregunta
-
He creado un dataset mediante codigo, en el diseño de mi form he agredado un datagridview el problema es que no se como "cargar" los datos del dataset al datagridview...
Hasta ahorita lo que tengo es lo siguiente
DataGrid dgvencargados = new DataGrid();
//Ligar el datagrid con la fuente de datos
dgvencargados.DataSource = dataSet;
dgvencargados.DataMember = "Encargados";Obviamente dataSet ya esta creado, pero cuando ejecuto la aplicacion el datagridview aparece en "blanco" en el form solo se ve el contorno de donde se supone deberia de estar...
Muchas gracias de antemano, ojala que me puedan ayudar.
Respuestas
-
hola
si solo vas a cargar una tabla en el DataGridView, porque no usas un DataTable ?
esto al final
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;algo como esto
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand command = new SqlCommand("SELECT Nombre, NSS FROM dbo.Encargado;",connection);
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta r4ul90 viernes, 12 de noviembre de 2010 0:49
Todas las respuestas
-
Aqui va un pequeño ejemplo
private void FillDataGrid(string vRamo, string vCategoria, string strConexion)
{
string vPalabra = null;
int vTipo = 1;
SqlConnection sqlConexion = null;
SqlCommand sqlComando = null;
// Creamos la conexión
sqlConexion = new SqlConnection(strConexion);
sqlComando = new SqlCommand("LstEmpresas " + vRamo + vCategoria + vPalabra + vTipo , sqlConexion);
try
{
sqlConexion.Open();
SqlDataAdapter da = new SqlDataAdapter(sqlComando);
//Llenar el Dataset
DataSet ds = new DataSet();
da.Fill(ds, "Empresas");
//Configurar el DatGrid
DataGrid dgEmpresas = new DataGrid();
Page.Controls.Add(dgEmpresas);
//Ligar el datagrid con la fuente de datos
dgEmpresas.DataSource = ds;
dgEmpresas.DataMember = "Empresas";
dgEmpresas.DataBind();
} // try
catch // (Exception e) // Exception Removed
{
return;
//throw new Exception("Error in FillDropDownLit -> " + e.ToString());
} // catch
finally
{
sqlComando.Dispose();
sqlConexion.Close(); // Close Connection
sqlConexion.Dispose();
}
return;
}
-
hola
que base de datos estas utilizando ?
ademas porque creas una instancia de DataGrid ? si lo tiens en tu formulario sua directo el nombre que le has dato, esta liena no deberias usarla
DataGrid dgvencargados = new DataGrid();
para cargar el dataset podrias usar
using (SqlConnection conn = new SqlConnection("connection string")) {
string query = "select * from NombreTabla";
SqlCommand cmd = new SqlCommand(query, conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet sa = new DataSet();
Da.Fill(ds);
DataGridView1.DataSoruce = ds.Tables(0);
}ADO.NET - Parte 1 - Recuperar Informaci ó n Sql Server
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Propuesto como respuesta Diego Mendoza jueves, 11 de noviembre de 2010 14:58
-
-
-
hola
que base de datos estas utilizando ?
ademas porque creas una instancia de DataGrid ? si lo tiens en tu formulario sua directo el nombre que le has dato, esta liena no deberias usarla
DataGrid dgvencargados = new DataGrid();
para cargar el dataset podrias usar
using (SqlConnection conn = new SqlConnection("connection string")) {
string query = "select * from NombreTabla";
SqlCommand cmd = new SqlCommand(query, conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet sa = new DataSet();
Da.Fill(ds);
DataGridView1.DataSoruce = ds.Tables(0);
}ADO.NET - Parte 1 - Recuperar Informaci ó n Sql Server
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina
Al parecer tengo uno error cuando ejecuto:OleDbDataAdapter da = new OleDbDataAdapter(cmd);
El error decia que cmd no era un oledbcommand...
Pero de la pagina de msdn encontre instrucciones para llenar un dataset, creo que me funciona bien porque he visto cuantas tablas hay y coincide con las tablas que obtuve mediante el sql command, sin embargo no puedo visualizar en el form el datagridview, no muestra ninguna tabla solo se ve el contorno de donde se supone deberia de estar. Muchisimas gracias por su ayuda
Adjunto el codigo que he utilizado
//Create a SqlDataAdapter for the Suppliers table. SqlDataAdapter adapter = new SqlDataAdapter(); // A table mapping names the DataTable. adapter.TableMappings.Add("Table", "Encargado"); SqlConnection connection = new SqlConnection(connectionString); connection.Open(); label1.Text = connectionString; // Create a SqlCommand to retrieve data. SqlCommand command = new SqlCommand("SELECT Nombre, NSS FROM dbo.Encargado;",connection); command.CommandType = CommandType.Text; // Set the SqlDataAdapter's SelectCommand. adapter.SelectCommand = command; // Fill the DataSet. DataSet dataSet = new DataSet("Encargados"); adapter.Fill(dataSet); label2.Text = dataSet.Tables.Count.ToString(); dataGridView1.DataSource = dataSet;
-
hola
si solo vas a cargar una tabla en el DataGridView, porque no usas un DataTable ?
esto al final
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;algo como esto
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
SqlCommand command = new SqlCommand("SELECT Nombre, NSS FROM dbo.Encargado;",connection);
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina- Marcado como respuesta r4ul90 viernes, 12 de noviembre de 2010 0:49