小编eba*_*eba的帖子

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万
查看次数

我可以在回调中处理Threading.Timer吗?

我正在使用Threading.Timer,如:

new Timer(new TimerCallback(y=>
{
    try
    {
        Save(Read(DateTime.Now));
        // here i want to dispose this timer
    }
    catch
    {                          
    }
}),null,100000,10000);
Run Code Online (Sandbox Code Playgroud)

如何在回调中处理此计时器.或解决方法?更新:让我解释一下情况.我想尝试调用方法"保存",同时抛出异常.如果它工作,我需要停止计时器.

.net dispose timer callback

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

C#opc-client .net api

我正在使用opc基础的.NET API编写opc客户端.

在样本中我只看到,项目的名称是硬编码的,如:

items[0] = new Opc.Da.Item();
items[0].ItemName = "blahblahblah";
Run Code Online (Sandbox Code Playgroud)

我想要的不是用手写下所有物品的名字.我想从服务器加载所有项目,例如树.我该怎么做?

c# opc

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

标签 统计

.net ×2

c# ×2

callback ×1

dispose ×1

opc ×1

timer ×1