什么是 DataGridView.Rows.Clear()?

2024-02-29

我每隔一定时间就会以编程方式在 datagridview 中添加一些行。我想在datagridview中查看某些github存储库的状态,例如是否在线,特定时间存储库中有多少提交等。

因此,当超时时,我使用 DataGridView.Rows.Clear() 清除行,然后再次添加包含更新信息的存储库。

我的代码在这里:

 Dim ok As Integer = 0
    DataGridView1.Rows.Clear()
    For Each r As RepoURL In _impControllerBpi.GetReposApi
        DataGridView1.Rows.Add(DateTimeOffset.Now, "https://github.com/" + r.GetUsr + "/" + r.GetNomRep, "-", "-", "-")
    Next
    Dim counter = 1
    For Each r As RepoURL In _impControllerBpi.GetReposApi
        DataGridView1.Rows.Item(counter - 1).Cells.Item(0).Value = DateTimeOffset.Now
        DataGridView1.Rows.Item(counter - 1).Cells.Item(2).Value = "Conectando con GitHub"
        ok = Await _impController.getRepoGitHub(r, counter)
        If ok = 1 Then
            DataGridView1.Rows.Item(counter - 1).Cells.Item(0).Value = DateTimeOffset.Now
            DataGridView1.Rows.Item(counter - 1).Cells.Item(2).Value = "Conectado"
        Else
            DataGridView1.Rows.Item(counter - 1).Cells.Item(0).Value = DateTimeOffset.Now
            DataGridView1.Rows.Item(counter - 1).Cells.Item(2).Value = "Repositorio no disponible en GitHub"
        End If
        counter = counter + 1
    Next

    Dim wreturnCode As Integer = System.Threading.ThreadPool.QueueUserWorkItem(New System.Threading.WaitCallback(AddressOf RepeatAction), cancellation.Token)

    ok = 0

一切正常,无需Clear()。但是当我清除行时,在某些迭代中,当我添加第一行时,系统会向我抛出一个

系统.NullReferenceException

一些帮助?Clear()释放为行集合分配的内存?


当你确实想清除DataGridView控件的数据时,有多种串行方式可供选择。

1.使用for循环将行数据一一清除。

 for (int i = 0; i < dataGridView1.RowCount; i++)
        {
            dataGridView1.Rows.Remove(dataGridView1.Rows[0]);

        } 

2.直接将DataSource属性设置为NULL。

 DataGridView.DataSource=null;

如果要将DataSet绑定到该控件,最好先将DataSet设置为NULL。

DataSet DataSet1=new DataSet();
DataSet1.clear();

3.上述方式可能会删除指定DataSet中的所有Table,因此您最好单独删除其Table。

DataSet ds = new DataSet();

DataTable dt = new DataTable();

dt.Columns.Add("val", typeof(int));

dt.Columns.Add("name", typeof(string));

dt.Rows.Add(1, "good");

ds.Tables.Add(dt);

dt.TableName = "test";

dataGridView1.DataSource = ds.Tables[0];

因此,您可以使用以下代码来清除指定的表。

ds.Tables[0].Clear();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是 DataGridView.Rows.Clear()? 的相关文章

  • 从空白启动时 VSTO 功能区不显示解决方案

    如果我从 文件 新建项目 菜单创建一个新的 Excel 2013 和 2016 VSTO 加载项 项目 然后单击 项目 添加新项目 gt 功能区 可视化设计器 则一切正常 我启动了应用程序 我的功能区显示在 Excel 中 但是 如果我首先
  • 无论表单上的焦点控件如何,如何捕获 Keys.F1?

    我使用了 KeyDown 事件和一些简单的代码 例如if e KeyCode Keys F1 捕获在表单上按下 F1 但如果表单上有一些文本框 或者表单上有一些带有 Dock Fill 的电子表格 则上面的代码将毫无用处并且不执行任何操作
  • 使用 iTextSharp CSSResolver 类的命名空间

    我正在使用 iTextSharp CSSResolver 类在 vb net 中使用外部 css 请让我知道使用的命名空间XMLWorkerFontProvider CssFilesImpl StyleAttrCSSResolver类 下面
  • 从嵌入 C# 的浏览器控件获取 HTML 源代码

    我有一个嵌入在 C Windows 应用程序中的浏览器控件 我想获取渲染的 HTML 可能已被 javascript 修改 而不是原始 HTML 有什么建议么 您可以获取 HTML 并确实设置它 使用WebBrowser DocumentT
  • Winform 上的 C# ComboBox 是否有 BeforeUpdate

    我来自 VBA 世界 记得有一个BeforeUpdate我可以在组合框上进行调用 现在我使用 C 并且喜欢它 我想知道是否有一个BeforeUpdate呼吁ComboBox在 Winform 上 我可以制作一个不可见的文本框并在那里存储我需
  • TreeView所有者在选择时绘制故障

    我正在尝试向标准 System Windows Forms TreeView 控件的元素添加更多图标 我的计划是只更改树视图控件的标签区域 但它显示出奇怪的行为 如果我单击一个节点来选择它 则按下鼠标按钮时 背景将使用突出显示颜色正确绘制
  • C# 如何暂停程序并等待 WinForm 中的键盘输入

    我有一个 C 2008 Winform 应用程序 我正处于循环之中 我正在向用户显示一个日期 我希望他们告诉我这个日期是星期几 例如显示6 22 2010 用户需要按t 我所困惑的是如何暂停我的应用程序并等待键盘输入 我只想回复 Esc m
  • 使用正则表达式验证器上传文件不适用于仅 Firefox IE

    我有一个带有 RegularExpressionValidator 的 FileUpload 和以下验证表达式 a zA Z 2 w w w gif jpg JPG JPEG GIF jpeg png bmp 3dm 3dmf ai drw
  • 如何防止控件在 TableLayoutPanel 内调整大小时视觉上滞后?

    我有一个基于多个嵌套的中等复杂度的布局TableLayoutPanels 调整窗体大小会导致更深嵌套表内的控件在视觉上滞后于调整大小 首先 这使得它们看起来像是在调整表单大小时四处移动 但更糟糕的是 当它们滞后到足以离开分配的表格单元格时
  • 将组合框添加到 DataGridView 标头

    当我运行代码时 dataGridView TopLeftHeaderCell 也有一个组合框 我怎样才能改变这一点 这是我的代码 public void AddHeaders DataGridView dataGridView for in
  • 如何在 VB.NET 中声明和初始化多维数组?

    我想做这个 Dim Numbers As Integer 1 2 3 4 5 6 7 IDE 的下划线4 5 6 7并说Array initializer has 3 too many elements 我究竟做错了什么 以下应该有效 Di
  • 如何从子窗体访问winforms父窗体控件

    在 Form1 中 我有一个 DataGridView 和多个文本框 当我单击 Form2 中的 A 按钮时 我需要将 DataGridView 和多个文本框中的数据保存到数据库中 如何在C Sharp Windows应用程序中实现 For
  • Visual Studio 改变 Ctrl-K-D 的工作方式

    In Visual Studio I m using 2012 is there any way of editing the way that Ctrl K D combinations handles its Auto Formatti
  • DataGridView 列中的数字文本框

    我有一个DataGridView 我想要它的第一列或任何所需的列 其中有textboxes在其中 成为NUMERIC ONLY 我目前正在使用这段代码 private void dataGridViewItems EditingContro
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • 如何使用 VB.NET 打开受密码保护的共享网络文件夹?

    我需要在网络上打开受密码保护的共享文件夹才能访问 Access 97 数据库 如何打开文件夹并输入密码 在这里找到http www mredkj com vbnet vbnetmapdrive html http www mredkj co
  • 如何打开 Windows 资源管理器窗口并选择特定文件夹

    我有一个 winform 应用程序 这个 winform 应用程序创建了几个文件 我想在我的应用程序中实现 查找目标 功能来显示这些文件 这些文件位于同一文件夹中 看图片 假设我创建了几个文件 C Test 文件夹 该文件夹包含以下文件 C
  • 检测非聚焦窗口上的鼠标滚轮?

    我的目标是制作一个浮动工具栏 作为其自己的 C 应用程序 当用户在我上方使用滚轮时 我想更改可见的按钮 听起来很简单 应该只是这句话的问题 MouseWheel new MouseEventHandler Form1 MouseWheel
  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个

随机推荐