hola estimados,
bueno quisiera preguntarles como tengo una matrix que se llena con un datable de esta manera:
public void Start()
{
string dataTableId = "my_data";
// add a data table to the form
var dataTable = oForm.DataSources.DataTables.Add(dataTableId);
// add a matrix to the form
Matrix1 = (SAPbouiCOM.Matrix)oForm.Items.Add(dataTableId, SAPbouiCOM.BoFormItemTypes.it_MATRIX).Specific;
Matrix1.Item.Width = 700;
Matrix1.Item.Height = 300;
// get some data
//string sql = @"SELECT ""CardCode"", ""CardName"" FROM ""OCRD"" ";
string sql = @"SELECT ""U_CodigoEDC"", ""U_NombreEDC"",""U_ProyectoEDC"" FROM ""@EDICIONESCOL"" ";
// oApp.SetStatusBarMessage("codigo: " + sql);
dataTable.ExecuteQuery(sql);
var columns = Matrix1.Columns;
// create columns
columns.Add("#", SAPbouiCOM.BoFormItemTypes.it_EDIT);
columns.Add("Codigo", SAPbouiCOM.BoFormItemTypes.it_EDIT);
columns.Add("Nombre", SAPbouiCOM.BoFormItemTypes.it_EDIT);
columns.Add("Proyecto", SAPbouiCOM.BoFormItemTypes.it_EDIT);
// setup columns
columns.Item("#").TitleObject.Caption = "#";
columns.Item("Codigo").TitleObject.Caption = "Código";
columns.Item("Nombre").TitleObject.Caption = "Nombre";
columns.Item("Proyecto").TitleObject.Caption = "Proyecto";
//bind columns to data
columns.Item("Codigo").DataBind.Bind(dataTableId, "U_CodigoEDC");
columns.Item("Nombre").DataBind.Bind(dataTableId, "U_NombreEDC");
columns.Item("Proyecto").DataBind.Bind(dataTableId, "U_ProyectoEDC");
// load the data into the rows
Matrix1.LoadFromDataSource();
Matrix1.AutoResizeColumns();
// show form on screen
oForm.Visible = true;
}
estos tienes la opción con evento de agregar o eliminar lineas, pero los hace sin eliminar o agregar a la base de datos, esta esta en program.cs en el evento donde agregar o elimina daros queria saber si esa linea esta bien cuando se llena con un datatable?
AddLineMatrixDBDataSource(((SAPbouiCOM.Matrix)oForm.Items.Item("my_data").Specific), oForm.DataSources.DBDataSources.Item("@EDICIONESCOL"), "U_CodigoEDC");
lo otro para poder por ejemplo modificar celda por celda como se haria?
tomo el ejemplo la matrix que se usa en paises que es asi:
entonces al seleccionar una cambia el botón a actualizar y ademas se puede actualizar en la BD.
y la ultima consulta es posible o es mejor hacer con una grilla en vez de una matrix?
muchas gracias expertos.
saludos