Hola a to2!!!
Tengo un datagridview el cual lleno en dependencia de lo que el usuario seleccione. El problema esta al obtener lso datos de la priemra columna, que cuando el usuario no selecciona nada, me devuelve los datos sin problemas, pero cuadno el usuario filtra la busqueda, auqneu lso datos que se muestran en el datagrid son los que deben ser, los de la primera columna no coinciden, y n se a que se debe. Algunos de ustedes sabe algo al respecto? Para que tengan una mejor idea, aqui les pongo el codigo que uso para esto:
tengo 2 combobox y un boton el cual se encarga de realizar la busqueda de acuerdo a lo seleccionado en lso combobox:
//los combobox estan llenos mediante un datasource, y le adicione un elemento a //cada uno, para que apareciera ("--Indiferente--") y saber si el usuario hizo una //seleccion o no, en uno, el valor adicionado fue (0 y el texto "--Indiferente--"), y //en el otro, (700000 y texto "--Indiferente--"), de ahi, la inicializacion de mes en //cero y de mision en 700000:
int mes = 0;
int mision = 700000;
//mes y mision
if ((cbMisionMostrar.SelectedValue.ToString() != mision.ToString()) && (cbMes.SelectedValue.ToString() != mes.ToString()))
{
try
{
dgvRecaudaciones.Columns[1].Visible = true;
this.tb_RecaudacionConsularTableAdapter.FillBy(thi s.nuevo412DataSet.tb_RecaudacionConsular, int.Parse(cbMisionMostrar.SelectedValue.ToString() ), int.Parse(cbMes.SelectedValue.ToString()));
}
catch (System.Exception ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
//mes
else if ((cbMisionMostrar.SelectedValue.ToString() == mision.ToString()) && (cbMes.SelectedValue.ToString() != mes.ToString()))
{
try
{
dgvRecaudaciones.Columns[1].Visible = true;
this.tb_RecaudacionConsularTableAdapter.FillByMes( this.nuevo412DataSet.tb_RecaudacionConsular, int.Parse(cbMes.SelectedValue.ToString()));
}
catch (System.Exception ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
//mision
else if ((cbMisionMostrar.SelectedValue.ToString() != mision.ToString()) && (cbMes.SelectedValue.ToString() == mes.ToString()))
{
try
{
dgvRecaudaciones.Columns[1].Visible = false;
this.tb_RecaudacionConsularTableAdapter.FillByMisi on(this.nuevo412DataSet.tb_RecaudacionConsular, int.Parse(cbMisionMostrar.SelectedValue.ToString() ));
}
catch (System.Exception ex)
{
//System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
//ninguna
else
{
dgvRecaudaciones.Columns[1].Visible = true;
this.tb_RecaudacionConsularTableAdapter.Fill(this. nuevo412DataSet.tb_RecaudacionConsular);
}
//para recoger el dato de la primera columna del datagridview:
int idR = int.Parse(dgvRecaudaciones.CurrentRow.Cells[0].Value.ToString());
//Aqui me devuelve valores negativos, cuadno los valores que deben devolver son de campos autoincrementales y ninguno es negativo.
No tengo ni idea de por que devuelve bien los valores de esa columna cuadno el usuario no selecciona ningun valor especifico de los combobox, y cuadno selecciona algo, devuelve bien lso valores de las columnas excepto, la primera. Alguno de ustedes tiene idea de que puede estar mal?