在微軟WinForm中,BindingNavigator控件主要用來綁定資料。可以将一個資料集合與該控件綁定,以進行資料關聯的顯示效果。如圖下圖所示:
<a target="_blank" href="http://blog.51cto.com/attachment/201206/153255253.jpg"></a>
那麼,下面我們就來用BindingNavigator控件做一下上圖所示的效果。
分析:該案例以BindingNavigator控件為主線,我們定義一個實體類,将實體類以集合的形式顯示在DataGridView中,同時,将BindingNavigator與DataGridView綁定,将BindingNavigator與文本框顯示資料綁定,将BindingNavigator與Button控件綁定,來示範一個資料關聯的效果,已達到學習BindingNavigator控件的目的。
步驟:
首先,在Visual Studio中建立一個WinForm應用程式,在Form1中添加BindingNavigator控件,DataGridView控件,兩個文本框,四個按鈕(分别表示:First,Previuos,Next,Last);
其次,在項目中添加一個使用者類User.cs,該類中有兩個屬性Name和Age;
示例代碼:
using System;
using System.Collections.Generic;
using System.Text;
namespace BindingDemo
{
public class User
public User()
}
public User(string name,int age)
this.Name = name;
this.Age = age;
private string name;
public string Name
get { return name; }
set { name = value; }
private int age;
public int Age
get { return age; }
set { age = value; }
再次,在Form1的代碼之中,建立User對象,并将對象儲存到List<>泛型集合之中,并顯示到DataGridView中;
關鍵代碼:
//建立一個泛型集合
List<User> users = new List<User>();
/// <summary>
/// 窗體加載事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainForm_Load(object sender, EventArgs e)
//建立使用者
User zh = new User("張三", 12);
User li = new User("李四",18);
User ww = new User("王五",20);
User ll = new User("劉六",30);
User X = new User("x-man",30);
User spaider = new User("spaiderman",25);
User ironman = new User("ironman",30);
//将使用者添加到List<>泛型集合的對象中
users.Add(zh);
users.Add(li);
users.Add(ww);
users.Add(ll);
users.Add(X);
users.Add(spaider);
users.Add(ironman);
再次,建立BindingSource對象,并在窗體加載事件中将BindingNavigator控件,與DataGridView,文本框,按
鈕控件進行資料綁定,進行資料關聯顯示效果;
示例代碼: Form1.cs
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
public partial class MainForm : Form
//
BindingSource bs = new BindingSource();
public MainForm()
InitializeComponent();
//将泛型集合對象中的值賦給Bindingsource對象的DataSource
bs.DataSource = users;
//将資料顯示到DataGridView中去
this.dgvMain.DataSource = bs;
//綁定導航
this.bindingNavigator1.BindingSource = bs;
//與文本框進行資料綁定
this.txtName.DataBindings.Add("Text",bs,"Name");
this.txtAge.DataBindings.Add("Text",bs,"Age");
//移動到第一行
private void btnFirst_Click(object sender, EventArgs e)
this.bs.MoveFirst();
//移動到前一行
private void btnPrevious_Click(object sender, EventArgs e)
this.bs.MovePrevious();
//移動到下一行
private void btnNext_Click(object sender, EventArgs e)
this.bs.MoveNext();
//移動到最後一行
private void btnLast_Click(object sender, EventArgs e)
this.bs.MoveLast();
本文轉自 huohe2009 51CTO部落格,原文連結:http://blog.51cto.com/zhaojie/886386
<a href="http://blog.51cto.com/search/result?q=BindingNavigator" target="_blank">BindingNavigator</a>