How to: Move Through a DataSet with the Windows Forms BindingNavigator Control
As you build data-driven applications, you will often need to display collections of data to users. The BindingNavigator control, in conjunction with the BindingSource component, provides a convenient and extensible solution for moving through a collection and displaying items sequentially.
The following code example demonstrates how to use a BindingNavigator control to move through data. The set is contained in a DataView, which is bound to a TextBox control with a BindingSource component.
Note: |
|---|
Storing sensitive information, such as a password, within the connection string can affect the security of your application. Using Windows Authentication (also known as integrated security) is a more secure way to control access to a database. For more information, see Protecting Connection Information (ADO.NET). |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Data.SqlClient; using System.Windows.Forms; // This form demonstrates using a BindingNavigator to display // rows from a database query sequentially. public class Form1 : Form { // This is the BindingNavigator that allows the user // to navigate through the rows in a DataSet. BindingNavigator customersBindingNavigator = new BindingNavigator(true); // This is the BindingSource that provides data for // the Textbox control. BindingSource customersBindingSource = new BindingSource(); // This is the TextBox control that displays the CompanyName // field from the the DataSet. TextBox companyNameTextBox = new TextBox(); public Form1() { // Set up the BindingSource component. this.customersBindingNavigator.BindingSource = this.customersBindingSource; this.customersBindingNavigator.Dock = DockStyle.Top; this.Controls.Add(this.customersBindingNavigator); // Set up the TextBox control for displaying company names. this.companyNameTextBox.Dock = DockStyle.Bottom; this.Controls.Add(this.companyNameTextBox); // Set up the form. this.Size = new Size(800, 200); this.Load += new EventHandler(Form1_Load); } void Form1_Load(object sender, EventArgs e) { // Open a connection to the database. // Replace the value of connectString with a valid // connection string to a Northwind database accessible // to your system. string connectString = "Integrated Security=SSPI;Persist Security Info=False;" + "Initial Catalog=Northwind;Data Source=localhost"; using (SqlConnection connection = new SqlConnection(connectString)) { SqlDataAdapter dataAdapter1 = new SqlDataAdapter(new SqlCommand("Select * From Customers",connection)); DataSet ds = new DataSet("Northwind Customers"); ds.Tables.Add("Customers"); dataAdapter1.Fill(ds.Tables["Customers"]); // Assign the DataSet as the DataSource for the BindingSource. this.customersBindingSource.DataSource = ds.Tables["Customers"]; // Bind the CompanyName field to the TextBox control. this.companyNameTextBox.DataBindings.Add( new Binding("Text", this.customersBindingSource, "CompanyName", true)); } } [STAThread] public static void Main() { Application.EnableVisualStyles(); Application.Run(new Form1()); } }
This example requires:
References to the System, System.Data, System.Drawing, System.Windows.Forms and System.Xml assemblies.
For information about building this example from the command line for Visual Basic or Visual C#, see Building from the Command Line (Visual Basic) or Command-line Building With csc.exe. You can also build this example in Visual Studio by pasting the code into a new project. How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
Note: