Io ho utilizzato questo codice:


codice:
while (reader.Read())
                    {
                        DataRow dr = ds.Tables["Pagamenti"].NewRow();
                        DateTime test = new DateTime();
                        test = System.Convert.ToDateTime(reader["data"]);
                        dr["Data"] = test.ToString("d");
                        dr["Riferimento"] = "Nota credito n°: " + reader["numero"].ToString();
                        if (reader["entrata"].ToString() == "0")
                        {
                            dr["Uscita"] = reader["importo"].ToString();
                            dr["Totale"] = "";
                        }
                        else
                        {
                            dr["Entrata"] = reader["importo"].ToString();
                            dr["Totale"] = "";
                        }
                        ds.Tables["Pagamenti"].Rows.Add(dr);
                    }

                    DataView dw = new DataView(ds.Tables[0], "", "Data ASC", DataViewRowState.CurrentRows);


                    for (int i = 0; i < ds.Tables["Pagamenti"].Rows.Count; i++)
                        MessageBox.Show(ds.Tables["Pagamenti"].Rows[i][0].ToString());
Però l'output mostra ciaramente che i dati non sono ordinati...