Je trie les dossiers du datewise datatable avec la colonne TradingDate
qui est le type de datetime.
Comment stocker les enregistrements triés dans un fichier csv?
TableWithOnlyFixedColumns.DefaultView.Sort = "TradingDate asc";
Maintenant, je veux stocker ces enregistrements triés dans le fichier csv, mais les enregistrements stockés ne sont pas triés par date.
TableWithOnlyFixedColumns.DefaultView.Sort = "TradingDate asc";
DataTable newTable = TableWithOnlyFixedColumns.Clone();
newTable.DefaultView.Sort = TableWithOnlyFixedColumns.DefaultView.Sort;
foreach (DataRow oldRow in TableWithOnlyFixedColumns.Rows)
{
newTable.ImportRow(oldRow);
}
// we'll use these to check for rows with nulls
var columns = newTable.DefaultView.Table.Columns.Cast<DataColumn>();
using (var writer = new StreamWriter(@"C:\Documents and Settings\Administrator\Desktop\New.csv"))
{
for (int i = 0; i < newTable.DefaultView.Table.Rows.Count; i++)
{
DataRow row = newTable.DefaultView.Table.Rows[i];
// check for any null cells
if (columns.Any(column => row.IsNull(column)))
continue;
string[] textCells = row.ItemArray
.Select(cell => cell.ToString()) // may need to pick a text qualifier here
.ToArray();
// check for non-null but EMPTY cells
if (textCells.Any(text => string.IsNullOrEmpty(text)))
continue;
writer.WriteLine(string.Join(",", textCells));
}
}
Alors, comment stocker les enregistrements triés dans un fichier csv?
@ Matt, alors je ne peux pas obtenir la méthode isNull() pour la ligne qui est en dessous de cette ligne de code. – Harikrishna
vous pouvez accéder à la méthode isNull() à travers la propriété Row, row.Row.IsNull, pourrait vouloir changer le nom de votre variable :-) – Matt
@ Matt, Merci cela fonctionne.Mais je ne comprends pas le concept de cela quand nous trions les enregistrements de la datatable il ne triés pas physiquement et selon que nous avons trié les enregistrements de la datatable n'est pas changé? – Harikrishna