c# - 修改数据表 C#

标签 c# asp.net datatable

我在数据表中有一个数据列表,我还有一个按钮,单击该按钮将显示上周完成的行。

但是,由于某些原因,我无法在修改后更新表格

我得到 7 天前的日期,对于完成日期大于源 DataTable 中它的每一行,我删除该行。那应该只剩下上周完成的行,但由于某种原因,在我的方法完成后每一行都保留下来。任何人都可以在这里发现问题吗?

在此先感谢您的帮助!

protected void btnShowLastWeek_OnClick(Object sender, EventArgs e)
    {
        DateTime current = DateTime.Today;
        DateTime lastWeek = current.AddDays(-7);

        DataTable temp = compDV.Table;

        for(int i = 0; i < temp.Rows.Count; i ++)
        {
            DateTime completed = (DateTime)temp.Rows[i]["DateCompleted"];

            if (completed.CompareTo(lastWeek.Date) <= 0)
            {
                temp.Rows.RemoveAt(i);
            }
        }

        dgCompletedRequests.DataSource = temp;
        dgCompletedRequests.DataBind();
    }

最佳答案

您应该改为绑定(bind)到 DataView:

dgCompletedRequests.DataSource =
    new DataView(compDV.Table, "DateCompleted > #" + lastWeek + "#");

关于c# - 修改数据表 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5970409/

相关文章:

c# - 连续打开和关闭连接后无法连接到本地主机上的 MySql 服务器

c# - 使用 linq 使用唯一的列名列表在 DataSet 中查找 DataTable(Name)

c# - 如何自定义 DataTable 列的排序

c# - FFI 的 size_t 兼容类型

c# - 从数据库填充列表 (SQLite)

c# - ReSharper 建议将模式匹配代码更改为对象模式

javascript - 添加后选择一行

c# - 如何在 LINQ 中选择多个表?

c# - 如何缓存数据集以停止与数据库的往返?

c# - 像这样从另一个线程发送电子邮件可以吗?