Framework .NET - Problema con DataGrid

   
Vista:

Problema con DataGrid

Publicado por kra (1 intervención) el 22/02/2008 17:01:03
Buenas a todos

Soy iniciado en el mundo del .NET y vengo de trabajar con Visual Fox Pro. Tengo dudas con el DataGrid que creo con el Visual Basic .NET, a ver si me iluminais que seguro que no tiene ningun secreto lo que quiero hacer jeje

Resulta que quiero mostrar un DataGrid cuya información viene de un DataSet que he cargado haciendo una conexión contra un AS400. Hasta aqui ningun problema, el DataGrid muestra todos los datos de la Select. El problema es que uno de estos campos es un código de provincia y yo lo que quiero mostrar es el nombre de la provincia, cuyo valor se encuentra en una tabla distinta a la que he usado para llenar el DataGrid.

La pregunta es si existe forma alguan de complicar la consulta SQL como para sacar ese valor sin necesidad de usar más DataSet o si de lo contrario habría que hacer ésto último. En este caso tengo dudas sobre como "reemplazar" el contenido de esa columna, ya que veo que el dataset carga el grid de golpe, y yo estoy acostumbrado a que en Fox Pro los registros se me vayan llenando linea a linea con un while not EOF() del fichero seleccionado (digo fichero porque es lo más parecido a una tabla del i5/OS).

Muchas gracias ! Si no me explicado bien lo intentaré hacer mejor la próxima vez !
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con DataGrid

Publicado por David Medina (3 intervenciones) el 13/06/2008 00:07:01
Hola.

Si con el AS400 no puedes hacer un JOIN o cruce entre ambas tablas para traer el nombre en vez del código, lo que debes hacer es:

1. Subes al dataSet la tabla que estás llenado. (DataTable1)
2. Al mismo dataSet le subes la tabla con el código y el Nombre (DataTable2)
3. Creas una relación entre ambas tablas... (DataRelation)
4. Utilizas un TableStyle para el DataGrid... DataGrid1.TableStyles.Add(...)

Si estas referencias no te ayudan, create una nueva tabla y vas actualizando el campo nombre con una búsqueda del código... es decir, recorres la tabla, leyendo el código, creas una función que enviándole el código te devuelva el nombre y actualizas el campo y ya!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema con DataGrid

Publicado por Olimi (1 intervención) el 24/06/2008 13:17:06
Y como lo has conseguido?? yo no consigo que la grid se me cargue con lo que devuelve el dataset.

Yo hago la query a sql, cargo el dataset, lo devuelvo al cliente, me viene con datos, pero al intentar cargarlo en la grid, me aparece vacia si el codigo lo escribo asi:

cliente
private void button3_Click(object sender, EventArgs e)
{
DataSet dsCliente = new DataSet();

LlamarAIIServicioMSDN.localhost.CalculatorService llamada = new LlamarAIIServicioMSDN.localhost.CalculatorService();

try
{
dataGridView1.DataSource = llamada.SelectBBDD();
}
catch (CommunicationException ce)
{
MessageBox.Show("A ocurrido una excepción: {0}", ce.Message);
}

}

servicio:
public DataSet SelectBBDD()
{
string resultado = "";
SqlConnection cnn = new SqlConnection();
cnn.ConnectionString = "Server=WEB\SQLEXPRESS;Database=N;UID=N;PWD=N;";
cnn.Open();

SqlDataAdapter sqladapt;
DataSet ds = new DataSet();
DataTable dt = new DataTable();

//string strSQL = "Set rowcount 1; Select * FROM VIAJE ";
string strSQL = "Select * FROM VIAJE ";
sqladapt = new SqlDataAdapter(strSQL, cnn);
sqladapt.Fill(ds, "VIAJE");
dt = ds.Tables["VIAJE"];

if (dt.Rows.Count == 0)
{
Console.WriteLine("No existen registros...");
}

}
return ds;
}

Podríais decirme que es lo que estoy haciendo mal? muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar