相关疑难解决方法(0)

DataGridView.Clear()

麻烦来了.我想从datagridview中删除所有行.这个我如何添加行:

private void ReadCompleteCallback(object clientHandle, Opc.Da.ItemValueResult[]     results)
{
    foreach (Opc.Da.ItemValueResult readResult in results)
    {
        dataGridView1.Invoke(new MethodInvoker(() => dataGridView1.Rows.Add(readResult.ItemName, readResult.Quality, readResult.Timestamp,readResult.Value)));        
    }
}                              
Run Code Online (Sandbox Code Playgroud)

它是如何清除gridview的:

private void treeView1_SelectionsChanged(object sender, EventArgs e)
{
    dataGridView1.Rows.Clear();
    items = new Opc.Da.Item[treeView1.SelectedNodes.Count]; 
    foreach (TreeNode x in treeView1.SelectedNodes) {
        items[treeView1.SelectedNodes.IndexOf(x)] = new Opc.Da.Item();
        items[treeView1.SelectedNodes.IndexOf(x)].ItemName = x.Text; 
    }

    group.AddItems(items);
    group.Read(group.Items, 123, new Opc.Da.ReadCompleteEventHandler(ReadCompleteCallback), out req);
}
Run Code Online (Sandbox Code Playgroud)

在调试中,我看到dataGridVIew1.Rows.Count = 0,但在表单上,​​网格并没有变得清晰.什么意思?在树中的每个选择,我想看到表中的新行.

.net c#

47
推荐指数
5
解决办法
26万
查看次数

为什么我无法清除datagridview控件中的行?

我正在做这个测试,我需要每4秒用数据重新加载datagridview,数据来自数据库.

所以我通过代码创建了一个计时器控件,并为事件添加了一个事件处理程序tick.然后在tick事件中

void t1_Tick(object sender, EventArgs e)
{

    dataGridView1.DataSource = null;
    dataGridView1.Rows.Clear();
    dt = Product.GetAllProductsBasicInfo();
    dataGridView1.DataSource = dt;

}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作,但当我移动

dataGridView1.Rows.Clear();
Run Code Online (Sandbox Code Playgroud)

之前

dataGridView1.DataSource = null;
Run Code Online (Sandbox Code Playgroud)

它会抛出一个运行时错误,说行无法清除,我想知道它为什么抛出这个错误,通常Clear()清除datagridview?

谢谢

c# datagridview winforms

6
推荐指数
1
解决办法
1万
查看次数

将DataGridView的DataSource设置为null/false将删除DataGridView的所有默认设置

在DataGridView中,当我设置dataGridView.DataSource = nulldataGridView.DataSource = false,它删除我设置的所有默认设置(属性).

它的外观没有设置DataSourcenull(见Mark列实际上是DataGridViewComboBoxColumn)

在此输入图像描述

设置DataSourcenullfalse在DataGridView中加载项后:

在此输入图像描述

看到这里Id列是可见的,默认情况下我设置了可见的false(从属性窗口).该Mark专栏也DataGridViewTextBoxColumn来自DataGridViewComboBoxColumn.

我真正想要的是:我只想清除所有行(换句话说,我想在从数据库中删除记录后将DataGridView设置为空白).像这个:

在此输入图像描述

我在这做错了什么?

c# datagridview .net-3.5

4
推荐指数
1
解决办法
8247
查看次数

从datagridview中删除所有数据

为什么这不起作用?

    //::::::::::::::::::::::::::::::::::::
    private void uxClearButton_Click(object sender, EventArgs e)
    {
        clearDGV();
    }
    void clearDGV()
    {
        // remove selected rows 
        foreach (DataGridViewRow row in uxDGV.Rows)
        {
            uxDGV.Rows.Remove(row);
        } 
    }
    //:::::::::::::::::::::::::::::::::::
Run Code Online (Sandbox Code Playgroud)

DGV未绑定,用户已在其中键入信息.

我得到的错误是 InvalidOperationException was unhandled Uncommitted new row cannot be deleted.

编辑

好的 - 感谢Steve等鼓励我为自己找到答案!!

uxChargeBackDataGridView.Rows.Clear();
Run Code Online (Sandbox Code Playgroud)

c# datagridview winforms

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×4

datagridview ×3

winforms ×2

.net ×1

.net-3.5 ×1