如何从csv文件中删除datagridview中的选定行?

时间:2015-05-22 10:42:07

标签: c#

我有一个" datagridview"从csv文件加载。我想删除" datagridview"中的选定行来自csv文件。

谢谢

1 个答案:

答案 0 :(得分:0)

我会使用下面的代码将CSV读入DataTable。您可以将DataTable作为datagridview的源。从数据表中删除行比从datagridview中删除行要容易。 datagridview和datatable的索引是相同的,因此如果用户从datagridview中选择一行来删除相同的数据表索引,则可以删除。当数据表发生变化时,datagridview将自动更新。

   public class CSVReader
    {

        public DataSet ReadCSVFile(string fullPath, bool headerRow)
        {

            string path = fullPath.Substring(0, fullPath.LastIndexOf("\\") + 1);
            string filename = fullPath.Substring(fullPath.LastIndexOf("\\") + 1);
            DataSet ds = new DataSet();

            try
            {
                if (File.Exists(fullPath))
                {
                    string ConStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}" + ";Extended Properties=\"Text;HDR={1};FMT=Delimited\\\"", path, headerRow ? "Yes" : "No");
                    string SQL = string.Format("SELECT * FROM {0}", filename);
                    OleDbDataAdapter adapter = new OleDbDataAdapter(SQL, ConStr);
                    adapter.Fill(ds, "TextFile");
                    ds.Tables[0].TableName = "Table1";
                }
                foreach (DataColumn col in ds.Tables["Table1"].Columns)
                {
                    col.ColumnName = col.ColumnName.Replace(" ", "_");
                }
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return ds;
        }
    }​