Buenas tardes, como comente en un Tema anterior (el cual ya lo dí como resuelto gracias a los especialistas del foro), necesito agregar una funcionalidad a mi Matrix que está asociada a un UDO.
Lo que necesito es agregar una linea (row) pero llenar las columnas con unos campos por defecto ya en el código al momento de agregar la línea.
Utilizo el siguiente código para agregar:
If _oMatrix.RowCount = 0 Then
_oMatrix.AddRow()
_oMatrix.AutoResizeColumns()
_oMatrix.Columns.Item(“Col0”).Cells.Item(1).Specific.Value = “T12”
_oMatrix.Columns.Item(“Col1”).Cells.Item(1).Specific.Value = “Vidrio Templado de 12mm”
_oMatrix.Columns.Item(“Col2”).Cells.Item(1).Specific.Value = “5”
_oMatrix.Columns.Item(“Col3”).Cells.Item(1).Specific.Value = “5”
End If
Pero al momento de compilar y tratar de asignar el dato "T12” a mi columna de la matrix que tiene como UniqueID=Col0 ya me salta el siguiente Error: “General Failure”.
Que tal @GabrielGS esto me ayuda bastante si quiero agregar esa funcionalidad del click derecho (Por lo que también me sirve y lo voy a utilizar), pero como le asigno ya un valor por defecto cada columna de esa linea?. Para que se entienda mejor, mi matrix de ejemplo posee 4 columnas (Artículo, Descripción, cantidad, cantidad confirmada). Y al agregar la linea me traiga ya estos datos cargados:
(Esos datos de la matrix lo cargue manualmente desde la pantalla del formulario).
Lo que quiero es que ya me traiga precargado, por lo que utilice este código:
Private Function AddRow() As Boolean
_oMatrix = _Form.Items.Item("matDet").Specific
If _oMatrix.RowCount = 0 Then
_oMatrix.AddRow()
_oMatrix.AutoResizeColumns()
_oMatrix.Columns.Item("Col0").Cells.Item(1).Specific.Value = "T12"
_oMatrix.Columns.Item("Col1").Cells.Item(1).Specific.Value = "Vidrio Templado de 12mm"
_oMatrix.Columns.Item("Col2").Cells.Item(1).Specific.Value = "5"
_oMatrix.Columns.Item("Col3").Cells.Item(1).Specific.Value = "5"
End If
Return True
End Function
Pero me sale el error que comente de “General Failure”.
Hay otra forma de asignar el valor a cada columna ?
No los cargues en las celdas de las Matrix, debes asignarlos al DBDataSource asociado a la matrix y luego hacer un oMatrix.LoadFromDataSource para que refleje los datos.