2017-02-04 138 views
0

编辑:我使用Devart LinqConnect模型。我认为这是一个实体框架。所以我得到数据与LinqtoSQLiteDataContext _conn = new LinqtoSQLiteDataContext();当我使用var persons = _conn.persons;,它带来了我从person表中的所有数据。它将你知道的表格复数化。从索引获取价值与索引

我得到DATAS从sqlite的文件是这样的:

var persons = _conn.persons; 
foreach (var person in persons) 
{ 
    var r = radGridView1.Rows.AddNew(); 
    r.Cells[0].Value = person.Id; 
    r.Cells[1].Value = person.Name; 
    r.Cells[2].Value = person.Surname; 
    r.Cells[3].Value = person.Age; 
} 

当我使用Bing方法,它带给我的所有列,但我不希望它。我想在RadGridView中显示一些列。所以我以编程方式创建网格列。但我认为这种方法是非常业余的。我想用迭代号(索引)迭代一行中的数据。我认为这将是这样的:

var persons = _conn.persons; 
var i = 0; 
foreach (var person in persons) 
{ 
    var r = radGridView1.Rows.AddNew(); 
    r.Cells[i].Value = ?????; 
    i++; 
} 

对于这一点,我想那一定是这样的:r.Cells[i].Value = person.columns[i].Value;但我不知道,写什么,而不是问号?

回答

0

我不知道如何写标记,但我有另一种方式来做到这一点。

什么类型的persons在你的代码? 我想这是一个List<Person>,如果是这样的话,这段代码会很好。

//using System.ComponentModel; 
var persons = _conn.persons; 
radGridView1.DataSource = new BindingList<Person>(persons); 

或者,如果它是一个DataTable,使用下面的代码:

var persons = _conn.persons; 
radGridView1.DataSource = persons; 

如果两个以上都是假的,我们可以继续讨论如何解决它。

对于业余或专家只是一个经验问题。

+0

Firstl,谢谢。我正在使用Devart LinqConnect模型。我认为这是一个实体框架。因此,我使用'LinqtoSQLiteDataContext _conn = new LinqtoSQLiteDataContext();'获取数据''当我使用'var persons = _conn.persons;'时,它将所有数据从'person'表中提取出来。它将你知道的表格复数化。它给我带来了所有专栏,但我不想要它。我想在RadGridView中显示一些列。所以我以编程方式创建网格列。为此,我认为它一定是这样的:'r.Cells [i] .Value = person.columns [i] .Value;'但我不知道如何。 –

+0

当您的鼠标移动到IDE中的人员时,工具提示会显示什么内容? –

+0

'Devart.Data.Linq.Table persons' –