修改:我正在使用Devart LinqConnect模型。我认为这是一个实体框架。所以我使用LinqtoSQLiteDataContext _conn = new LinqtoSQLiteDataContext();
获取数据当我使用var persons = _conn.persons;
时,它会从person
表中获取所有数据。它使你知道的表格多元化。
我从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 :(得分: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;
如果以上两者都是假的,我们可以继续讨论如何解决它。
对于业余爱好者或专家而言只是经验问题。