public void ToCsv()

in src/IdFix/Controls/IdFixGrid.cs [273:295]


        public void ToCsv(StreamWriter writer)
        {
            Func<object, string> csvEscape = (object obj) =>
            {
                if (obj == null)
                {
                    return string.Empty;
                }

                var str = obj.ToString();

                return string.IsNullOrEmpty(str) ? string.Empty : str.IndexOf(",") > -1 ? string.Format("\"{0}\"", str) : str;
            };

            // write the headers
            writer.WriteLine(string.Join(",", this.Columns.Cast<DataGridViewColumn>().Select(c => c.Name.ToUpper(CultureInfo.CurrentCulture))));

            // now we write all the rows from the grid
            foreach (DataGridViewRow row in this.Rows)
            {
                writer.WriteLine(string.Join(",", row.Cells.Cast<DataGridViewCell>().Select(c => csvEscape(c.Value))));
            }
        }