Recibir valor en FindMode en un grid c#

csharp
Etiquetas: #<Tag:0x00007fb8da7c3d38>

#1

Estimados,
esperando estén bien, les comento mi problema.
-Quisiera saber en que evento puedo usar en esta situación:
logrado poder colocar en negrita el row que ya tiene el business parners, hago que aparezca y ademas tomo el valor que tiene el row y lo puedo cambiar por otro row si el usuario lo quieres.
al final hice un clickafter en el folder 1, funciona como mencione pero lo malo que cuando el usuario presione de nuevo el fonder en modo ok este volver a tomar el valor anterior, y este es el problema.

como podemos ver aca, ya viene con un row ya en negrita:

después puede cambiarlo con el botón fijar como estándar:

con esto ya estaríamos ok, pero el usuario puede que quiera mover entre pestañas(folders) y alli al presionar de nuevo el folder 1 me genera el problema


me toma de nuevo el valor anterior y entonces no logro poder obtener el resultado deseado, por eso sera mejor utilizarlo en otro evento? ya que si lo uso en un grid_afteclickafterclick pasa algo similar, y de la misma manera en un form_clickafter,

cualquier ayuda o consejo sera muy agradecida.

evento folder:

  private void Folder1_ClickAfter(object sboObject, SAPbouiCOM.SBOItemEventArg pVal)
        {
            
            if (Button0.Caption == "OK")
            {
                grBusVlr();
                
            }

        }

este método utilizo para volver a rellenar la grilla y encontrar el valor de la grilla.


            SAPbobsCOM.Recordset oRecordset1 = ((SAPbobsCOM.Recordset)(oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)));

            oitem = oForm.Items.Item("grdpy");
            oGrid = ((SAPbouiCOM.Grid)(oitem.Specific));
            string vlGrilla = null;

            string Sql10 = "select t0.PayMethCod as 'grcode',t1.Cardcode as 'cod' from OPYM as t0  left join  ocrd as t1 on t0.PayMethCod= t1.pymcode  where t1.cardcode='" + EditText0.Value.ToString() + "'";
            oRecordset1.DoQuery(Sql10);
            string Extraerdequery10 = oRecordset1.Fields.Item("grcode").Value.ToString();
            vlGrilla = Extraerdequery10;
            oForm.DataSources.DataTables.Item("grPagdt");
            oForm.DataSources.DataTables.Item(0).ExecuteQuery("SELECT distinct t0.PayMethCod AS 'Código',t0.Descript as' Descripción',t0.Active as 'Activo'  from OPYM  as t0 left join  ocrd as t1  on t0.PayMethCod= t1.pymcode where t0.type='O' ");
            //oGrid.DataTable = oForm.DataSources.DataTables.Item("grPagdt2");
            oGrid.Columns.Item("Activo").Type = SAPbouiCOM.BoGridColumnType.gct_CheckBox;
            //para agregar el link buton a la grilla
            oGrid.Columns.Item("Código").Type = SAPbouiCOM.BoGridColumnType.gct_EditText;
            SAPbouiCOM.EditTextColumn oEdit = (SAPbouiCOM.EditTextColumn)oGrid.Columns.Item("Código");
            oEdit.LinkedObjectType = "147";

            //oCBC.ValidValues.Add(oRec.Fields.Item(0).Value.ToString(), oRec.Fields.Item(1).Value.ToString());
            //algo parecido a lo que hace el boto de fijar metodo, lo hago aca para que el viejaSel no sea -1 y pueda sacar la linea en negrita
            string valor = (string)oGrid.DataTable.GetValue("Código", 2);
            for (int iRows = 0; iRows <= oGrid.Rows.Count - 1; iRows++)
            {
                if ((string)oGrid.DataTable.GetValue("Código", iRows) == vlGrilla)
                {

                    oGrid.CommonSetting.SetRowFontStyle(iRows + 1, SAPbouiCOM.BoFontStyle.fs_Bold);
                    viejaSel = iRows +1;
                }
            }
            
    
        



            //}


        }

gracias


#2

al final lo cree en el folder el evento como escribí arriba, asi que cuando busquen y siempre toquen el foder este tomara los registros.


#3

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