Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press

Buy directly from Paradoxal Press at $33.99 (Save 43%)



Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA


Listing 18-7 extracted from chapter Windows forms applications


Listing 18-6<     > Listing 18-8


This listing can be compiled with the command line:
csc.exe /target:exe Example_18_7.cs
Errors: 0 Warnings: 0


Example_18_7.cs
using System;
using System.ComponentModel;
using System.Windows.Forms;
public partial class MyForm : Form {
   private DataGridView dataGridView;
   EmployeeList list = new EmployeeList();
   public MyForm() {
      InitializeComponent();
      list.Add( new Employee"Doo""John" ) );
      list.Add( new Employee"Dupont""Anne" ) );
      dataGridView.DataSource = list;
   }
   private void InitializeComponent() {
      this.dataGridView = new System.Windows.Forms.DataGridView();
      dataGridView.Dock = DockStyle.Fill;
      dataGridView.AutoGenerateColumns = true;
      dataGridView.UserDeletingRow += UserDeletingRowHandler;
      this.Controls.Add( this.dataGridView );
   }
   protected virtual void UserDeletingRowHandler( object s,
         DataGridViewRowCancelEventArgs e) {
      if MessageBox.Show( "Are you sure?"string.Empty, 
                            MessageBoxButtons.YesNo) == DialogResult.Yes)
         ((Employee)e.Row.DataBoundItem).Deleting();
   }
   [STAThread]   
   static void Main() { Application.Run( new MyForm() ); }
}
class EmployeeList : BindingList<Employee> {
   public EmployeeList() { this.AllowNew = true; }
   protected override object AddNewCore() {
      Employee employee = new Employee"-""-" );
      Add( employee );
      return employee;
   }
}
public class Employee : IEditableObject {
   private string m_Surname;
   private string m_Firstname;
   public Employee(string surname, string firstname) {
      m_Surname = surname; m_Firstname = firstname;
   }
   public string Surname{  get{return m_Surname;}  set{m_Surname=value;}  }
   public string Firstname{get{return m_Firstname;}set{m_Firstname=value;}}
   void IEditableObject.BeginEdit() { }
   void IEditableObject.CancelEdit() { }
   void IEditableObject.EndEdit() { }
   public void Deleting() { }
}	
Copyright Patrick Smacchia 2006 2007