標籤:
WinForm之中BindingNavigator控制項的使用
在微軟WinForm中,BindingNavigator控制項主要用來綁定資料。可以將一個資料集合與該控制項綁定,以進行資料
聯動的顯示效果。所示:
那麼,下面我們就來用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;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace BindingDemo
{
public partial class MainForm : Form
{
//建立一個泛型集合
List<User> users = new List<User>();
//
BindingSource bs = new BindingSource();
public MainForm()
{
InitializeComponent();
}
/// <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對象的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(objectsender, 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();
}
}
}
WinForm之中BindingNavigator控制項的使用