Wenn die Anwendung ausgeführt wird, ist DataGridView
an eine DataTable
gebunden. Später füge ich programmatisch mehr Spalten zu DataTable
hinzu und es spiegelt sich in den zugrunde liegenden Daten wider - d. H. Die Spalte Ordinalzahlen sind so, wie sie sein sollten. Dies spiegelt sich jedoch nicht in der DataGridView
wider. Stattdessen werden Spalten an die ursprünglich generierte Menge angehängt.Ändern der Spaltenreihenfolge in DataTable, die an DataGridView gebunden sind, spiegelt sich nicht in der Ansicht
Dieses Beispiel zeigt,
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public DataTable data = new DataTable();
private void button1_Click(object sender, EventArgs e)
{
this.dataGridView1.DataSource = data;
for (int i = 0; i < 5; i++)
{
this.data.Columns.Add(i.ToString());
}
}
private void button2_Click(object sender, EventArgs e)
{
DataColumn foo = new DataColumn();
this.data.Columns.Add(foo);
foo.SetOrdinal(0);
}
private void button3_Click(object sender, EventArgs e)
{
foreach (DataColumn tmpCol in this.data.Columns)
{
Console.WriteLine("{0} : {1}", tmpCol.ColumnName, tmpCol.Ordinal);
}
}
}
Button 1 erzeugt die Spalten, Taste 2 eine Spalte hinzufügt und setzt die Ordinalzahl auf 0, so sollte sie in dem Gitter, die Taste 3 zeigt die Ordinalzahlen der Säulen ersten und zeigt, wie sie in der DataTable
sein sollen.
Bitte korrigieren Sie Ihren Link –