I new that BindingSource's AddingNew event can handle all default value assignment, but was so frustrated that I could not find any articles/tutorials which guided me on how to use it. Although MSDN had description, but it did not have samples on how to use it. However, with few long hour searches I came to a source which enlighted me on how to use this event.
A sample code looks like this:
private void branchBindingSource_AddingNew(object sender, AddingNewEventArgs e) { //// Get data table view DataView dataTableView = branchBindingSource.List as DataView; //// Create row from view DataRowView rowView = dataTableView.AddNew(); rowView["BranchID"] = -1; rowView["BranchCode"] = "001"; rowView["BranchDescription"] = "002"; //// Set New row e.NewObject = rowView; branchBindingSource.MoveLast(); }