ComponentOne DataObjects for .NET
DataObjects for .NET Samples

Please be advised that this ComponentOne software tool is accompanied by various sample projects and/or demos, which may make use of other development tools included with the ComponentOne Studio.

The samples illustrate various features of DataObjects for .NET. However, the samples do not cover all DataObjects for .NET features, only those that are not sufficiently represented in DataObjects for .NET Tutorials.

All samples use the standard Microsoft Access sample database Northwind, C1NWind.mdb.

Note: Please be aware that the sample projects have the database location (to the installation directory) hard coded in the connection string.

If you have the Northwind database installed in a different location, you can change the connection strings, or copy the C1NWind.mdb file to the required location.

Please refer to the pre-installed product samples through the following path:

Documents\ComponentOne Samples\WinForms 

The following table lists available Visual Basic and C# samples:

Sample Description
ADOStorage

Enables you to work with the same data using DataObjects for .NET and ADO.NET, interchangeably. This functionality is very important in DataObjects for .NET, because it allows you to:

  • Do everything with your data that you can do with ADO.NET, including things that are not supported in DataObjects for .NET (for example, DataSet.Merge).
  • Export/import your data from/to DataObjects for .NET in ADO.NET DataSet format. This sample uses the C1DataSet and C1SchemaDef controls.
ADOStorage(DX) Demonstrates data interchange between DataObjects for .NET Express and ADO.NET. This sample uses the C1ExpressTable and C1ExpressConnection controls.
AutoincrementMasterDetail Demonstrates Field.AutoIncrement=ClientAndServer in a master-detail situation. This sample uses the C1DataSet and C1SchemaDef controls.
Calculations Shows how to use DataObjects for .NET expression in calculation fields. This sample uses the C1DataSet and C1DataTableSource controls.
Constraints Shows how to use DataObjects for .NET expression constraints. This sample uses the C1DataSet and C1TrueDBGrid controls.
CrystalReportsIntegration Shows how to create a report using DataObjects for .NET data with Crystal Reports. Other reporting tools can be used in a similar fashion. This sample uses the C1DataSet and C1SchemaDef controls.
CrystalReportsIntegration(DX) Shows how to create a report using DataObjects for .NET Express data with Crystal Reports. Other reporting tools can be used in a similar fashion. This sample uses the C1ExpressTable and C1ExpressConnection controls.
CustomDataProvider Demonstrate a usage of DataObjects for .NET with an arbitrary .NET data provider. This sample uses the C1DataSet and C1SchemaDef controls.
CustomFillUpdate

This sample demonstrates:

  • Adding custom business methods to a data library.
  • Passing C1DataSet as a parameter between client and server, different processes/machines.
  • Some ways to customize Fill and Update process (about other Update customization options, see Updating the Database for more information).
  • Managing connections and transactions on the server, including using pre-created connections/transactions and using distributed COM+ transactions (spanning multiple databases). This sample uses the C1DataSet control.
CustomRelations Shows how to create a custom relation, the one with behavior managed by a custom code. This sample uses the C1DataSet and C1SchemaDef and C1DataSetLogic controls.
CustomRelations(DX) This sample shows how to create relations in code, specifying the list of child rows dynamically at run time. This sample uses the C1ExpressTable and C1ExpressConnection controls.
DataLibraryInheritance (C# only) Shows how to inherit a data library from another data library. This sample uses the C1DataSet control.
DefaultDataView Demonstrates the use of IsDefault property and GetRows event. This sample uses the C1DataSet and C1SchemaDef, and C1DataView controls.
DefaultDataView(DX) This sample demonstrates the use of IsDefault property and GetRows event. This sample uses the C1ExpressTable, C1ExpressConnection, and C1ExpressView controls.
DynamicConnections Demonstrates how to set ConnectionString and other Connection properties for a data set at run time. This sample uses the C1DataSet and C1SchemaDef controls.
DynamicExpress(DX) This sample demonstrates how to set ConnectionString, DbTableName, and other properties at run time in DataObjects for .NET Express. This sample uses the C1ExpressTable and C1ExpressConnection controls.
Programmatic This sample demonstrates creating DataObjects for .NET schema objects at run time. This sample uses the C1TrueDBGrid control.
Relations Demonstrates master detail hierarchies based on various kinds of relations. This sample uses the C1DataSet and C1TrueDBGrid controls.
ResolvingConcurrencyConflicts Shows how to resolve concurrency conflicts in database update. This sample uses the C1DataSet, C1DataView, and C1TrueDBGrid controls.
ResyncFromDatabase This sample shows how to synchronize rows with the current state of the database. This sample uses the C1DataSet and C1SchemaDef controls.
SQLBasedTables This sample shows how to specify custom SQL statements for filling and updating DataObjects for .NET tables. This sample uses the C1DataSet and C1TrueDBGrid controls.
SQLBasedTablesEasy Demonstrates how to create a table based on a SQL SELECT statement or a stored procedure. This sample uses the C1DataSet C1SchemaDef, and C1TableLogic controls.
SQLBasedTablesEasy(DX) Demonstrates how to create a table based on a SQL SELECT statement or a stored procedure. This sample uses the C1ExpressTable control.
UnboundTables This sample shows various techniques that can be useful in creating unbound tables. This sample uses the C1DataSet and C1TrueDBGrid controls.
UsingDataView This sample demonstrates filtering and sorting features of the C1DataView component. This sample uses the C1DataSet, C1SchemaDef, and C1DataView controls.
VirtualSort This sample shows how to specify sort order in virtual mode table views and change it at run time. This sample uses the C1DataSet, C1SchemaDef, C1DataTableSource, and C1DataView controls.
WorkingWithData Shows how to access DataObjects for .NET data programmatically. This sample uses the C1DataSet control.