As I can’t test in this this new feature don’t work properly with sqlceResultSet as datasource of Datagrid and datagridcustomcolumnstyles example provided by Microsoft .net Cf team.
Must I change the datagridcustomcolumns project to improve the funcionality of sqlceresultset
In the example I worte The datagrid only display the even registers of my table the odd register are display empty.
That’s my example:
Imports
DataGridCustomColumnsPublic
Class Form1Public conexion As Data.SqlServerCe.SqlCeConnection = New Data.SqlServerCe.SqlCeConnection("Data Source=iPAQ File Store\GestionAlmacenN.sdf") 'Creamos los comandos para poder accceder a cada una de las tablas Public ComandoCargaMovimientos As Data.SqlServerCe.SqlCeCommand = conexion.CreateCommand Public ComandoCargaAlmacenes As Data.SqlServerCe.SqlCeCommand = conexion.CreateCommand Public ComandoCargaTTransacciones As Data.SqlServerCe.SqlCeCommand = conexion.CreateCommand Public ComandoCargaProductos As Data.SqlServerCe.SqlCeCommand = conexion.CreateCommand Public ComandoCargaDetalle As Data.SqlServerCe.SqlCeCommand = conexion.CreateCommand Public ComandoCargaConfiguracion As Data.SqlServerCe.SqlCeCommand = conexion.CreateCommand 'Instanciamos los punteros a cada una de las tablas Public ResultSetAlmacenesE As Data.SqlServerCe.SqlCeResultSet Public ResultSetAlmacenesS As Data.SqlServerCe.SqlCeResultSet Public ResultSetTTransacciones As Data.SqlServerCe.SqlCeResultSet Public ResultSetProductos As Data.SqlServerCe.SqlCeResultSet Public ResultSetProductosBC As Data.SqlServerCe.SqlCeResultSet Public ResultSetConfiguracion As Data.SqlServerCe.SqlCeResultSet Public ResultSetGridMovimientos As Data.SqlServerCe.SqlCeResultSet
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
conexion.Open()
'**************************************************************** '************Conexion con Tabla Almacen Entrada******************ComandoCargaAlmacenes.CommandType = Data.CommandType.TableDirect
ComandoCargaAlmacenes.IndexName =
"PK__Almacenes Entrada__000000000000009A"ComandoCargaAlmacenes.CommandText =
"Almacenes Entrada"ResultSetAlmacenesE = ComandoCargaAlmacenes.ExecuteResultSet(Data.SqlServerCe.ResultSetOptions.Scrollable
Or Data.SqlServerCe.ResultSetOptions.Updatable)'************************************************************** '****************Conexion con Tabla Almacen Salida*************
ResultSetAlmacenesS = ComandoCargaAlmacenes.ExecuteResultSet(Data.SqlServerCe.ResultSetOptions.Scrollable
Or Data.SqlServerCe.ResultSetOptions.Updatable) '************************************************************** '**************************************************************'**************************************************************** '************Conexion con Tabla Tipos Transacciones**************
ComandoCargaTTransacciones.CommandType = Data.CommandType.TableDirect
ComandoCargaTTransacciones.IndexName =
"PK_Tipo Transacciones"ComandoCargaTTransacciones.CommandText =
"Tipo Transacciones"ResultSetTTransacciones = ComandoCargaTTransacciones.ExecuteResultSet(Data.SqlServerCe.ResultSetOptions.Scrollable
Or Data.SqlServerCe.ResultSetOptions.Updatable)'************Conexion con Tabla MovimientosVisualizar******************
ComandoCargaMovimientos.CommandType = Data.CommandType.TableDirect
ComandoCargaMovimientos.IndexName =
"PK_Movimientos Cabecera"ComandoCargaMovimientos.CommandText =
"Movimientos Cabecera"ResultSetGridMovimientos = ComandoCargaMovimientos.ExecuteResultSet(Data.SqlServerCe.ResultSetOptions.Scrollable
Or Data.SqlServerCe.ResultSetOptions.Updatable) Dim datagridcustomcolumn0 As New DataGridCustomUpDownColumn With datagridcustomcolumn0.Owner =
Me.DataGrid1.HeaderText =
"N Parte".MappingName =
"N Parte".NullText =
"VACIO".Width = 40
.Alignment = HorizontalAlignment.Left
End With Me.DataGridTableStyle1.GridColumnStyles.Add(datagridcustomcolumn0) Dim datagridcustomcolumn1 As New DataGridCustomDateTimePickerColumn With datagridcustomcolumn1.Owner =
Me.DataGrid1.HeaderText =
"Fecha".MappingName =
"Fecha".NullText =
"VACIO".Width = 45
.Alignment = HorizontalAlignment.Left
End With Me.DataGridTableStyle1.GridColumnStyles.Add(datagridcustomcolumn1) Dim datagridcustomcolumn2 As New DataGridCustomComboBoxColumn With datagridcustomcolumn2.Owner =
Me.DataGrid1.HeaderText =
"Codigo Operacion".MappingName =
"Codigo Operacion".NullText =
"VACIO".Width = 70
.Alignment = HorizontalAlignment.Left
End With Me.DataGridTableStyle1.GridColumnStyles.Add(datagridcustomcolumn2) Dim datagridcustomcolumn3 As New DataGridCustomComboBoxColumn With datagridcustomcolumn3.Owner =
Me.DataGrid1.HeaderText =
"Almacen Entrada".MappingName =
"Almacen Entrada".NullText =
"VACIO".Width = 60
.Alignment = HorizontalAlignment.Left
End With Me.DataGridTableStyle1.GridColumnStyles.Add(datagridcustomcolumn3) Dim datagridcustomcolumn4 As New DataGridCustomComboBoxColumn With datagridcustomcolumn4.Owner =
Me.DataGrid1.HeaderText =
"Almacen Salida".MappingName =
"Almacen Salida".NullText =
"VACIO".Width = 60
.Alignment = HorizontalAlignment.Left
End With Me.DataGridTableStyle1.GridColumnStyles.Add(datagridcustomcolumn4) Me.DataGrid1.DataSource = Me.ResultSetGridMovimientos Dim cbtrans As ComboBox = CType(datagridcustomcolumn2.HostedControl, ComboBox) With cbtrans.DataSource =
Me.ResultSetTTransacciones.DisplayMember =
"Codigo".ValueMember =
"Codigo" End With Dim cbAlmacenE As ComboBox = CType(datagridcustomcolumn3.HostedControl, ComboBox) With cbAlmacenE.DataSource =
Me.ResultSetAlmacenesE.DisplayMember =
"Codigo".ValueMember =
"Codigo" End With Dim cbAlmacenS As ComboBox = CType(datagridcustomcolumn3.HostedControl, ComboBox) With cbAlmacenS.DataSource =
Me.ResultSetAlmacenesS.DisplayMember =
"Codigo".ValueMember =
"Codigo" End WithEnd
SubEnd
Class
Thanks For your help.

SP1 Feature :Allow DataGrid cell drawing to be overridden Do’nt work properly with sqlceResultSet as DataSource
MuhammadRashid
You'd need to write your own custom combo box control to do that.
You already have design specs (e.g. determine how many entries are visible, fetch and display them, fetch others as user scrolls), but it is fairly complicated task to implement.
Alex114
There should be no difference between data sources.
Keep in mind these custom column styles are just a sample for you to explore and modify, it's not the part of the framework. You have full source code, if something's not working to your satisfaction simply set a break point inside paint, see what's going wrong and change it to suit your needs.
WinFormsUser
Thanks Ilya I have found my problem is with the combo box that i have bound to the grid that have such a lot records.
Could you give some advise to make a user combobox that only fetch visible rows as datagrid does
Thanks for your help.