hola estimados, de nuevo yo, les comento, ya pude crear la grilla, llenarla de datos, poner linkedbuttons en la primera linea, colocar y sacar las negritas la selección de una fila, ahora lo que quiero es que cuando en el formulario me busque a un business parner, me seleccione la grilla que tiene por defecto ese cliente o proveedor, para entender de mejor manera lo pondre graficamente:
cuando busco no aparece el método de pago que ya posee el proveedor, en cambio por ejemplo tu entras a busines parner y vas payment run este aparece seleccionado, tal y como esta imagen:
como mencione ya tengo el código para generar obtener el valor de la fila y la creación de la grilla
creacion y llenado de grilla:
oitem = oForm.Items.Item("grdpy");
oGrid = ((SAPbouiCOM.Grid)(oitem.Specific));
//crear el datasources y despues dentro de esto se ejecuta la query
oForm.DataSources.DataTables.Add("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("grPagdt");
//cheackbox en el campo activo
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";
// oGrid.Rows.SelectedRows.Add(pVal.Row);
RowNumberGrid(oGrid);
y el boton que busca la linea y ponen en negritas la seleccion (solo en creación)
int oldSelection = -1;
private void Button2_ClickBefore(object sboObject, SAPbouiCOM.SBOItemEventArg pVal, out bool BubbleEvent)
{
BubbleEvent = true;
try
{
if (oGrid.Rows.SelectedRows.Count > 0) //VERIFICA QUE EXISTA UN ROW SELECCIONADO
{
if (oldSelection != -1)
oGrid.CommonSetting.SetRowFontStyle(oldSelection, SAPbouiCOM.BoFontStyle.fs_Plain);
int nSelecRow = (oGrid.Rows.SelectedRows.Item(0, SAPbouiCOM.BoOrderType.ot_RowOrder));
oldSelection = nSelecRow + 1;
//oApp.SetStatusBarMessage("El dato es " + oldSelection + nSelecRow);
//seleccion el row y se destaca en negrita
oGrid.CommonSetting.SetRowFontStyle(nSelecRow + 1, SAPbouiCOM.BoFontStyle.fs_Bold);
string sValorGrid = Convert.ToString(oGrid.DataTable.GetValue("Código", nSelecRow));
}
}
catch (Exception)
como podría obtener el dato si pongo mi formulario en búsqueda y el cliente/proveedor ya tiene ya marcado una opción?
saludos y gracias!