Bind controls to data in Visual Studio
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
You can display data to users of your application by binding data to controls. You can create these data-bound controls by dragging items from the Data Sources window onto a design surface or controls on a surface in Visual Studio.
This topic describes the data sources you can use to create data-bound controls. It also describes some of the general tasks involved in data binding. For more specific details about how to create data-bound controls, see Bind Windows Forms controls to data in Visual Studio and Bind WPF controls to data in Visual Studio.
Data sources
In the context of data binding, a data source represents the data in memory that can be bound to your user interface. In practical terms, a data source can be an Entity Framework class, a dataset, a service endpoint that is encapsulated in a .NET proxy object, a LINQ to SQL class, or any .NET object or collection. Some data sources enable you to create data-bound controls by dragging items from the Data Sources window, while other data sources do not. The following table shows which data sources are supported.
Data source | Drag-and-drop support in the Windows Forms Designer | Drag-and-drop support in the WPF Designer | Drag-and-drop support in the Silverlight Designer |
---|---|---|---|
Dataset | Yes | Yes | No |
Entity Data Model | Yes1 | Yes | Yes |
LINQ to SQL classes | No2 | No2 | No2 |
Services (including WCF Data Services, WCF services, and web services) | Yes | Yes | Yes |
Object | Yes | Yes | Yes |
SharePoint | Yes | Yes | Yes |
Generate the model using the Entity Data Model wizard, then drag those objects to the designer.
LINQ to SQL classes do not appear in the Data Sources window. However, you can add a new object data source that is based on LINQ to SQL classes, and then drag those objects to the designer to create data-bound controls. For more information, see Walkthrough: Creating LINQ to SQL Classes (O-R Designer).
Data Sources window
Data sources are available to your project as items in the Data Sources window. This window is visible when a form design surface is the active window in your project, or you can open it (when a project is open) by choosing View > Other Windows > Data Sources. You can drag items from this window to create controls that are bound to the underlying data, and you can also configure the data sources by right-clicking.
For each data type that appears in the Data Sources window, a default control is created when you drag the item to the designer. Before you drag an item from the Data Sources window, you can change the control that is created. For more information, see Set the control to be created when dragging from the Data Sources window.
Tasks involved in binding controls to data
The following table lists some of the most common tasks you perform to bind controls to data.
Task | More information |
---|---|
Open the Data Sources window. | Open a design surface in the editor and choose View > Data Sources. |
Add a data source to your project. | Add new data sources |
Set the control that is created when you drag an item from the Data Sources window to the designer. | Set the control to be created when dragging from the Data Sources window |
Modify the list of controls that are associated with items in the Data Sources window. | Add custom controls to the Data Sources window |
Create data-bound controls. | Bind Windows Forms controls to data in Visual Studio Bind WPF controls to data in Visual Studio |
Bind to an object or collection. | Bind objects in Visual Studio |
Filter data that appears in the UI. | Filter and sort data in a Windows Forms application |
Customize captions for controls. | Customize how Visual Studio creates captions for data-bound controls |