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
|