hola buenas tardes expertos ,
tengo un problema con mi código al actualizar mi grilla.
tengo una grilla que permite agrega,modifica y eliminar,con la creación y eliminación no tengo problemas, pero el actualizar no me actualiza a menos que selecciones (clickee) 2 veces la linea, recién allí actualiza.
mi código es este:
int nRow = Grid2.Rows.SelectedRows.Item(0, SAPbouiCOM.BoOrderType.ot_RowOrder);
String sValorGrid = Convert.ToString(Grid2.DataTable.GetValue("CODE", nRow));
if (oUserTable.GetByKey(sValorGrid.ToString())) // Esto devuelve true si existe el registro
{
string cod = (string)(Grid2.DataTable.GetValue("Código", nRow));
string nom = (string)(Grid2.DataTable.GetValue("Nombre", nRow));
string proy = (string)(Grid2.DataTable.GetValue("Proyecto", nRow));
// oCompany.StartTransaction();
oUserTable.Code = cod;
oUserTable.Name = cod;
oUserTable.UserFields.Fields.Item("U_CodigoEDC").Value = cod;
oUserTable.UserFields.Fields.Item("U_NombreEDC").Value = nom;
oUserTable.UserFields.Fields.Item("U_ProyectoEDC").Value = proy;
int i = oUserTable.Update();
if (i != 0)
{
oApp.SetStatusBarMessage("Error" + oCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, false);
}
else
{
oApp.SetStatusBarMessage("Exito en la Actualización", SAPbouiCOM.BoMessageTime.bmt_Medium, false);
}
y con un evento en la grilla permito que al seleccionar la celda se marque toda la linea, con esto en teoría debería funcionar(funciona perfecto en agregar)
private void Grid2_ClickAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
{
Grid2.Rows.SelectedRows.Add(pVal.Row);
}
pero cuando actualizo no me toma el valor cambiado, sino el valor que ya estaba, pero si cliqueo de nuevo la fila este si toma el dato, alguien sabe en que me puedo estar equivocando?
muchas gracias