Bindingnavigator Datagridview und Datasets

09/05/2009 - 13:50 von Daniel Zuidinga | Report spam
Hallo NG,

ich möchte über einen BindingNavigator über die einzelnen Tabellen eines
Datasets navigieren. Die jeweilige aktuelle Tabelle soll in einem
DatagridView angezeigt werden.

Leider schaffe ich es nur über die einzelnen Zeilen einer zuvor
festgelegten Tabelle zu navigieren. Ich möchte aber die jeweilige
aktuelle Tabelle im DGV anzeigen.

Kann mir jemand helfen?

Gruß
 

Lesen sie die antworten

#1 Frank Dzaebel
09/05/2009 - 16:29 | Warnen spam
Hallo Daniel,

ich möchte über einen BindingNavigator über die einzelnen Tabellen
eines Datasets navigieren. Die jeweilige aktuelle Tabelle soll in
einem DatagridView angezeigt werden.



Ein Beispiel, das über eine ComboBox auswàhlbar im
DataGridView die einzelnen Tabellen Customers, Orders
und Products anzeigt:

DataGridView dgv;

private void Form1_Load(object sender, EventArgs e)
{
this.productsTableAdapter.Fill(this.northwindDataSet.Products);
this.ordersTableAdapter.Fill(this.northwindDataSet.Orders);
this.customersTableAdapter.Fill(this.northwindDataSet.Customers);

dgv = customersDataGridView;
dgv.AutoGenerateColumns = true;

bsources = new Dictionary<string, BindingSource>();
bsources.Add(customersBindingSource.DataMember,
customersBindingSource);
bsources.Add(productsBindingSource.DataMember,
productsBindingSource);
bsources.Add(ordersBindingSource.DataMember,
ordersBindingSource);

comboBox1.Items.Clear();
foreach (DataTable dt in northwindDataSet.Tables)
comboBox1.Items.Add(dt.TableName);
comboBox1.SelectedIndexChanged += new EventHandler(
comboBox1_SelectedIndexChanged);
comboBox1.SelectedIndex = 0;
}

Dictionary<string, BindingSource> bsources;

void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string tableName = comboBox1.SelectedItem.ToString();
BindingSource bs = dgv.DataSource as BindingSource;
if (tableName == bs.DataMember) return;
bs.EndEdit(); dgv.Columns.Clear();
dgv.DataSource = bsources[tableName];
// Dein Haupt-BindingNavigator:
customersBindingNavigator.BindingSource = bsources[tableName];
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen