2017-04-20 47 views
-1

,我不明白是如何工作的一个DataGrid,让我用我的代码解释:正如标题所说如何移动到下一行一个DataGrid(C#/ WPF)

public class User 
{ 
    public string NumeroTIC { get; set; } 

    public string NumeroCNT1 { get; set; } 

    public string NumeroCNT2 { get; set; } 

    public DateTime Date { get; set; } 
} 

List<User> ImpulseData = new List<User>(); 
ImpulseData.Add(new User() { NumeroTIC = hex2, NumeroCNT1 = hex4, NumeroCNT2 = hex6, Date = DateTime.Now }); 
Dispatcher.BeginInvoke((Action)(() => { dgSimple.ItemsSource = ImpulseData; })); 

所以,我每次我的班级被调用时,我想要移动到另一行,例如,我第一次在第一行写入时调用我的班级,我把它称为第二次写入第二行,等等。 当前我的代码工作正常,但始终在同一行

变量:hex2,hex4,hex6,是来自串行端口的字节,但它并不重要

+2

不要创建一个新的'名单'比如你要添加的元素各一次。相反,创建一个'ObservableCollection '并将其仅分配给ItemsSource属性* *。然后稍后向该集合中添加元素。 – Clemens

+0

@Clemens指出你应该把所有的User对象添加到同一个ObservableCollection中。但是,“转移到下一行”究竟意味着什么? – mm8

+0

To @ mm8:好的,我的软件必须从串口获取一些信息。每次使用串口时,我想将数据放入我的数据网格中 –

回答

-1

使用插入而不是添加

int myIndex; 

ImpulseData.Insert(myIndex ,new User() { NumeroTIC = hex2, NumeroCNT1 = hex4, NumeroCNT2 = hex6, Date = DateTime.Now }); 
+0

,当列表被重新创建时,这并没有帮助。 OP必须首先访问_existing_列表 – Default

+0

对不起,我不明白你的代码,如果你想使用相同的列表声明表单类中的ImpulseData不在你的方法。 –

+0

我没有写任何代码。如果您对原始海报有建议,您可以[编辑](http://stackoverflow.com/posts/43522118/edit)您的答案,并添加该信息 – Default

相关问题