C sharp - Búsqueda de código en un Datagrid

 
Vista:

Búsqueda de código en un Datagrid

Publicado por UFunMat (1 intervención) el 08/01/2007 10:58:46
Hola,

Estoy programando con VS 2003 para dispositivos de Windows CE .NET. Quiero hacer una búsqueda de un código que engo en un TextBox dentro de un DataGrid. Que ese código haga marcar la fila del DataGrid que tengo.

Según está ahora la función, yo le doy a buscar el código del producto y me marca el código que quiero buscar pero coge la fila del producto que estaba anteriormente apuntada y la marca y la pone encima del código que encuentra, poniéndole además el número de producto que buscaba(machacándolo), y seleccionánadolo con la flechita.

Os pongo el código a continuación:

private void BuscaCodigo()
{
int i;
DataGridCell selectedCell;
string str;
int cbProd = Convert.ToInt32(txtCodigo.Text);
string rowfil= Varios.dataViewPrd.RowFilter;
string sort = Varios.dataViewPrd.Sort;
bool usado = false;

selectedCell = dataGrid1.CurrentCell;
str=Utilidades.DevuelveNumerico(txtCodigo.Text).Trim();

if (str.Length > 0)
{

Varios.dataViewPrd.RowFilter="";
Varios.dataViewPrd.Sort = "CodigoProducto";
i = Varios.dataViewPrd.Find(str);
if (i>=0)
{
dataGrid1.UnSelect(selectedCell.RowNumber);
dataGrid1.CurrentRowIndex = i;
dataGrid1.Select(i);
dataGrid1.Focus();
selectedCell = dataGrid1.CurrentCell;
dataGrid1.Select(selectedCell.RowNumber);
usado=true;
}
else
{
MessageBox.Show("Código no encontrado");
Varios.dataViewCli.RowFilter=rowfil;
Varios.dataViewCli.Sort = sort;
dataGrid1.CurrentRowIndex = selectedCell.RowNumber;
dataGrid1.Focus();
dataGrid1.Select(selectedCell.RowNumber);
usado=true;
}
}
if (!usado)
{
dataGrid1.Focus();
dataGrid1.Select(selectedCell.RowNumber);
}

dataGrid1.Focus();
dataGrid1.Select(selectedCell.RowNumber);
}
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