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