SP1 Feature :Allow DataGrid cell drawing to be overridden Do’nt work properly with sqlceResultSet as DataSource

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 DataGridCustomColumns

Public Class Form1

Public 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 With

End Sub

End Class

Thanks For your help.



Answer this question

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.


  • SP1 Feature :Allow DataGrid cell drawing to be overridden Do’nt work properly with sqlceResultSet as DataSource