Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2007, 13:53
martins_250
 
Fecha de Ingreso: abril-2007
Mensajes: 2
Antigüedad: 17 años, 1 mes
Puntos: 0
Exclamación Problema con Variable de clase, AYUDA!!

Hola!
Tengo una página que realiza consultas a una base de datos a través de un objeto de la clase Consultor y lo muestra en forma de datagrids.
Con un desplegable selecciono el distinto tipo de informe que quiero visualizar (es decir, cambia la consulta sql) y lo muestro en el datagrid genérico.
Entonces quería que tras mostrar el datagrid pudiese ordenarlo con este código existente en el archivo .cd adjunto a la página .aspx:

protected void ordenarGrid(object source, DataGridSortCommandEventArgs e)
{
DataView dv = get_tabla().Tables[0].DefaultView;
dv.Sort = e.SortExpression;
dg_generico.DataSource = dv;
dg_generico.DataBind();
}

Además tengo las variables dentro de la clase:

private DataSet tabla = null;
private Consultor mi_consultor;

public DataSet get_tabla()
{
return tabla;
}
public void set_tabla(DataSet mi_tabla)
{
tabla = mi_tabla;
}

protected void Page_Load(object sender, EventArgs e)
{
//Debo crear un consultor para traer los datos
mi_consultor = new Consultor();
}

El caso es q tengo un método que enlaza los datos al datagrid cuando selecciono del desplegable y me establece la referencia a la variable tabla (dataset):
protected void Button1_Click(object sender, EventArgs e)
{
int opcion;
opcion = RadioList.SelectedIndex;
if (opcion == -1)
{
Label2.Text = "ERROR: debe seleccionar el informe a visualizar.";
}
else
{
//aquí meto el dataset a mi variable tabla tras la consulta
set_tabla(mi_consultor.get_datos(opcion));
dg_generico.DataSource = get_tabla();
dg_generico.DataBind();

}
}

Sin embargo, cuando después de tener cargado en pantalla el datagrid le doy a ordenar pinchando en el nombre de la columna utilizada para la ordenación, me dice que no encuentra la referencia a la variable TABLA, como que la hubiese perdido y no tuviese el dataset anteriormente obtenido en la consulta y utilizado por el datagrid que está en pantalla. Me sale este error:
"Referencia a objeto no establecida como instancia de un objeto"

¿¿Alguien me puede dar una solución??

Muchas gracias, salu2.