Ayuda SAP

Posicionamiento del cursor en la primera celda

Hola estimados,yo de nuevo.
Quiero saber como utilizar el manejo y posicionamiento del cursor en las celdas, me di cuenta que en las grillas de Sap cuanto esta no puede guardar porque el valor ya existe esta se queda posicionada en la celda que se queria editar
image


quisiera emular esto mismo en mi código, mas que nada cuando el dato ya exista pueda quedarme en la celda que se deba modificar…

 if (oUserTable.GetByKey(ValorGrillaActu.ToString())) // Esto devuelve true si existe el registro
                            {

                                //|| (codAnt == codNueActu || codNueActu == Extraerdequery1) && (Extraerdequery2 == codNueNomActu)     codAnt == codNueActu ||
                                if ((CotAnt == codNueActu || codNueActu == Extraerdequery1) && (cotNomAnt == codNueNomActu))
                                {
                                    oApp.SetStatusBarMessage("Esta entrada ya existe en la tabla " + oCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true);

                                   
                                    object columna2 = Grid0.DataTable.Columns.Item("Código").Cells.Item(nRow).Value;
                                    Grid0.GetDataTableRowIndex(nRow);
                                    BubbleEvent = false;
                                    break;

                                }

saludos!

Hola :grin:!

Para posicinar el cursor en cualquier celda debes hacerlo de la siguiente manera:
Para una MATRIX:

                    SAPbouiCOM.EditText oEdit;                    
                    oEdit = (SAPbouiCOM.EditText)oMatrix.Columns.Item("Mi_Columna").Cells.Item(nRow).Specific;
                    oEdit.Active = true;
                    oEdit.Item.Enabled = true;
                    oEdit.Item.Click();

Para un GRID:

      oGrid.Columns.Item("Mi_Columna").Click(nRow, false, 0);

Saludos :vulcan_salute:

2 Me gusta

muchas gracias Gabriel funciono perfecto, solo una cosa mas de curiosidad, para que quede parpadeando el puntero, deberia hacer algo adicional? o un form.Freeze(true); o algo así?
muchas gracias!

Si el form esta congelado deberias hacer un form.Freeze(false);

1 me gusta

osea si lo descongelo, toma el campo primero pero no queda parpadeando
queda Así:image
o debo usar un tab o algo asi después de que seleccione esa celda?
muchas gracias!

si, puedes usar despues del oEdit.Item.Click(); un Application.SBO_Application.SendKeys("{END}") o Application.SBO_Application.SendKeys("{LEFT}")

Ojo que antes debes descogelar el form!

3 Me gusta

perfecto, muchas gracias!!! funciono muy bien!
saludos señor!

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.