Csharp/C Sharp/Database ADO.net/BindingManagerBase

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Navigate the binded data using BindingManagerBase

<source lang="csharp"> using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Data.SqlClient;

   public class Form1 : System.Windows.Forms.Form {
     private System.Windows.Forms.TextBox textBox1;
     private System.Windows.Forms.TextBox textBox2;
     private System.Windows.Forms.Button buttonBack;
     private System.Windows.Forms.Button buttonNext;
     private System.Data.DataSet dataSet1;
     private System.ruponentModel.Container components = null;
     private BindingManagerBase bMgr;
     public Form1() {
       InitializeComponent();
     }
     private void InitializeComponent() {
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.textBox2 = new System.Windows.Forms.TextBox();
        this.buttonBack = new System.Windows.Forms.Button();
        this.buttonNext = new System.Windows.Forms.Button();
        this.dataSet1 = new System.Data.DataSet();
        ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).BeginInit();
        this.SuspendLayout();
        this.textBox1.Location = new System.Drawing.Point(8, 8);
        this.textBox1.Name = "textBox1";
        this.textBox1.Size = new System.Drawing.Size(160, 20);
        this.textBox1.TabIndex = 0;
        this.textBox1.Text = "textBox1";
        this.textBox2.Location = new System.Drawing.Point(8, 40);
        this.textBox2.Name = "textBox2";
        this.textBox2.Size = new System.Drawing.Size(160, 20);
        this.textBox2.TabIndex = 1;
        this.textBox2.Text = "textBox2";
        this.buttonBack.Location = new System.Drawing.Point(24, 80);
        this.buttonBack.Name = "buttonBack";
        this.buttonBack.Size = new System.Drawing.Size(56, 23);
        this.buttonBack.TabIndex = 2;
        this.buttonBack.Text = "<< Back";
        this.buttonBack.Click += new System.EventHandler(this.buttonBack_Click);
        this.buttonNext.Location = new System.Drawing.Point(96, 80);
        this.buttonNext.Name = "buttonNext";
        this.buttonNext.Size = new System.Drawing.Size(56, 23);
        this.buttonNext.TabIndex = 3;
        this.buttonNext.Text = "Next>>";
        this.buttonNext.Click += new System.EventHandler(this.buttonNext_Click);
        this.dataSet1.DataSetName = "NewDataSet";
        this.dataSet1.Locale = new System.Globalization.CultureInfo("en-US");
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(176, 108);
        this.Controls.Add(this.buttonNext);
        this.Controls.Add(this.buttonBack);
        this.Controls.Add(this.textBox2);
        this.Controls.Add(this.textBox1);
        this.Name = "Form1";
        this.Text = "Form1";
        this.Load += new System.EventHandler(this.Form1_Load);
        ((System.ruponentModel.ISupportInitialize)(this.dataSet1)).EndInit();
        this.ResumeLayout(false);
     }
     static void Main() {
        Application.Run(new Form1());
     }
     private void Form1_Load(object sender, System.EventArgs e) {
        string connString = "server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI";
        string sql = @"select * from employee ";
        SqlConnection conn = new SqlConnection(connString);
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        da.Fill(dataSet1, "employee");
        textBox1.DataBindings.Add("text", dataSet1, "employee.firstname");
        textBox2.DataBindings.Add("text", dataSet1, "employee.lastname");
 
        bMgr = this.BindingContext[dataSet1, "employee"];
     }
     private void buttonNext_Click(object sender, System.EventArgs e) {
        bMgr.Position += 1;    
     }
     private void buttonBack_Click(object sender, System.EventArgs e) {
        bMgr.Position -= 1;
     }
   }


      </source>