You can get this to work by just working directly with the Datatables involved and not use the designer generated dataset direct. So, instead of
grid.DataSource = dataset1;
grid.DataMember = "New";
use
grid.DataSource = daatset1.Tables["New"];
Here are your button handler back with code that worked for me.
private void button2_Click(object sender, System.EventArgs e)
{
Console.WriteLine("----");
//System.Data.OleDb.OleDbDataAdapter da1 = new System.Data.OleDb.OleDbDataAdapter("SELECT ProductName, ProductID, QuantityPerUnit FROM Products WHERE UnitPrice < 10", oleDbConnection1.Connection);
System.Data.OleDb.OleDbDataAdapter da1 = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Products", oleDbConnection1.Connection);
this.dataSet11.Clear();
da1.Fill(this.dataSet11, "New");
this.gridDataBoundGrid1.DataSource = null;
this.gridDataBoundGrid1.DataMember = "";
this.gridDataBoundGrid1.DataSource = this.dataSet11.Tables["New"];
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
this.Close();
}
private void menuItem3_Click(object sender, System.EventArgs e)
{
// set up the open file dialog
openFileDialog1.Filter = "Extreme Movie Manager Files|*.mdb";
openFileDialog1.Title = "Select an Extreme Movie Manager Database File";
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
Console.WriteLine("opening " + openFileDialog1.FileName);
}
}
private void button3_Click(object sender, System.EventArgs e)
{
Console.WriteLine("----");
//System.Data.OleDb.OleDbDataAdapter da1 = new System.Data.OleDb.OleDbDataAdapter("SELECT ProductName FROM Products", oleDbConnection1.Connection);
this.oleDbDataAdapter1.SelectCommand.CommandText = "SELECT ProductName FROM Products";
gridDataBoundGrid1.BeginUpdate();
gridDataBoundGrid1.DataMember = "";
gridDataBoundGrid1.DataSource = null;
if (this.dataSet11.Tables.Contains("New"))
{
this.dataSet11.Tables.Remove("New");
this.dataSet11.Tables.Add("New");
}
this.oleDbDataAdapter1.Adapter.Fill(this.dataSet11, "New");
foreach(DataTable dataTable in dataSet11.Tables)
{
Console.WriteLine(dataTable.TableName + " " + dataTable.Rows.Count + " " + dataTable.Columns.Count);
}
gridDataBoundGrid1.DataSource = this.dataSet11.Tables["New"];
// gridDataBoundGrid1.Binder.InitializeColumns();//may not need
gridDataBoundGrid1.EndUpdate();
gridDataBoundGrid1.Refresh();
}
private void button5_Click(object sender, System.EventArgs e)
{
Console.WriteLine("----");
//System.Data.OleDb.OleDbDataAdapter da1 = new System.Data.OleDb.OleDbDataAdapter("SELECT ProductName FROM Products", oleDbConnection1.Connection);
this.oleDbDataAdapter1.SelectCommand.CommandText = "SELECT ProductID, ProductName FROM Products";
gridDataBoundGrid1.BeginUpdate();
gridDataBoundGrid1.DataMember = "";
gridDataBoundGrid1.DataSource = null;
if (this.dataSet11.Tables.Contains("New"))
{
this.dataSet11.Tables.Remove("New");
this.dataSet11.Tables.Add("New");
}
this.oleDbDataAdapter1.Adapter.Fill(this.dataSet11, "New");
foreach(DataTable dataTable in dataSet11.Tables)
{
Console.WriteLine(dataTable.TableName + " " + dataTable.Rows.Count + " " + dataTable.Columns.Count);
}
gridDataBoundGrid1.DataSource = this.dataSet11.Tables["New"];
gridDataBoundGrid1.EndUpdate();
gridDataBoundGrid1.Refresh();
gridDataBoundGrid1.Update();
}