我的datagridview中的数据是从.csv文件中读取出来的。现在修改了datagridview,

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的datagridview中的数据是从.csv文件中读取出来的。现在修改了datagridview,相关的知识,希望对你有一定的参考价值。

现在修改了datagridview。现在要实现的是选中datagridview一行,点击保存按钮,这一行的内容保存到原来读取出来的文件中。也就是修改原来的文件内容。本人刚学,求具体代码示列???,

给你个思路:
1、当你的文件内容不是很多时,可以考虑将文件内容全部删除再重新将数据写入文件。
2、可以根据选中行的标识来确定要修改的记录。具体的操作事件可以参考datagridview的属性事件。
参考技术A 选择了一行 有 selected 事件 你视具体情况看下 , 要是 用了 objectdatasurce 数据控件的话 考虑下 select事件, 不行的话 就贴代码上来。望采纳

如何在DataGridView列中删除时间

您好我正在创建一个GridView数据,以在Web应用程序中显示我的CSV。我有一个数据表中的gridviewGoods Reciept日期为DateTime。这里的问题是如何从我的Goods Reciept日期中删除时间。

public void Storage00B()
{
    DataTable StorType00B = new DataTable();
    StorType00B.Columns.AddRange(new DataColumn[6] {
        new DataColumn("Material", typeof(string)),
        new DataColumn("Quantity", typeof(float)),
        new DataColumn("Date of Goods Reciept", typeof(DateTime)),
        new DataColumn("Date of Last transaction",typeof(string)),
        new DataColumn("Stock Status", typeof(string)),
        new DataColumn("Storage Type", typeof(string))
    });
    DataTable dt = GetDataTable();
    int B = 0;
    int QB = 0;
    foreach (DataRow row in dt.Rows)
    {
        if (row.Field<String>(5) == "00B
")
        {
            B++;
            if (row.Field<String>(4) == "Q")
            {
                QB++;
            }
        }
    }

    String StrTyp;



    for (int i = 0; i < dt.Rows.Count; i++)
    {

        StrTyp = dt.Rows[i][5].ToString();
        StorType00B.Rows.Add();
        if (StrTyp == "00B
")
        {

            StorType00B.Rows[i][0] = dt.Rows[i][0];
            StorType00B.Rows[i][1] = dt.Rows[i][1];
            StorType00B.Rows[i][2] = dt.Rows[i][2];
            StorType00B.Rows[i][3] = dt.Rows[i][3];
            StorType00B.Rows[i][4] = dt.Rows[i][4];
            StorType00B.Rows[i][5] = dt.Rows[i][5];
        }
    }

    Stor_Type00B.Text = "Before IQA Stock Quantity :" + B;
    Q00B.Text = "Total Quality Stock :" + QB;
    StorType00B = StorType00B.Rows.Cast<DataRow>().Where(row => !row.ItemArray.All(field => field is DBNull || string.IsNullOrWhiteSpace(field as string))).CopyToDataTable();
    DataView dv = StorType00B.DefaultView;
    dv.Sort = "Date of Goods Reciept ASC";
    StorageType00B.DataSource = dv;
    StorageType00B.DataBind();

}

这是我目前的结果

image

如你所见,我想删除12:00:00 AM,因为我的Goods Reciept日期没有时间。

答案

你应该尝试formatting your date到像dd-MM-yyyy格式的字符串:

StorType00B.Rows[i][2] = Convert.ToDateTime(dt.Rows[i][2]).ToString("dd-MM-yyyy");
另一答案

如何将其转换为.NET DateTime然后使用Date属性。像这样的东西:

StorType00B.Rows[i][2] = Convert.ToDateTime(dt.Rows[i][2]).Date;

以上是关于我的datagridview中的数据是从.csv文件中读取出来的。现在修改了datagridview,的主要内容,如果未能解决你的问题,请参考以下文章

在C#中将CSV文件导出到DataGridview

将datagridview导出到csv文件

使用 SQL 查询填充 DataGridView 行

C# 更改 DataGridView 中的列标题

在C#中从CSV到Datagridview读取不同的值

如何在DataGridView列中删除时间