Here is the code to replicate. Have a form with a flyGrid and a button.
Run it, then sort column B (by clicking on the header) where all strings are equal and then press button few times (which updates grid).
Look at column A - rows being re-sorted in some weird cycle... I afraid that it is another problem inherited from your 'ADO.NET thingy'... Not sure you can fix it.
public Form2()
{
InitializeComponent();
Column a = new Column(\"colA\", \"colA\");
Column b = new Column(\"colB\", \"colB\");
Column c = new Column(\"colC\", \"colC\");
flyGrid1.Columns.Items.Add(a);
flyGrid1.Columns.Items.Add(b);
flyGrid1.Columns.Items.Add(c);
for (int i = 0; i < 5; i++)
{
flyGrid1.Rows.Items.Insert(0, new Node(new object[] {i, \"Const\", \"Var\"}));
}
}
private void button1_Click(object sender, EventArgs e)
{
flyGrid1.BeginInit();
foreach (Node n in flyGrid1.Rows.Items)
{
n[2] = \"Var\";
}
flyGrid1.EndInit();
}