using System.Windows.Forms; using System.Data; static class Program { static void Main() { Application.Run(new Frm()); } } class Frm: Form { public Frm() { DataTable table = new DataTable(); DataColumn[] keys = new DataColumn[1]; DataColumn column1 = new DataColumn(); DataColumn column2 = new DataColumn(); DataGrid grid = new DataGrid(); grid.Dock = DockStyle.Fill; table.Columns.Add(column1); table.Columns.Add(column2); keys[0] = column2; table.PrimaryKey = keys; Controls.Add(grid); table.RowChanging += new DataRowChangeEventHandler(OnRowChanging); grid.SetDataBinding(table, ""); } private void OnRowChanging(object sender, DataRowChangeEventArgs e) { if (e.Action == DataRowAction.Add) { string pk = e.Row.Table.PrimaryKey[0].ColumnName; if (e.Row[pk] == null) e.Row[pk] = new System.Guid(); } } }