【问题标题】:Getting value from sqlite with index使用索引从 sqlite 获取价值
【发布时间】:2017-02-04 15:42:31
【问题描述】:

编辑:我正在使用 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; 但是不知道,问号应该写什么?

【问题讨论】:

    标签: c# sqlite radgridview devart dotconnect


    【解决方案1】:

    我也不知道怎么写分数,但我有另一种方法。

    您的代码中有什么类型的persons? 我猜是List<Person>,如果是真的这段代码会很好。

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

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

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

    如果以上都为假,我们可以继续讨论如何解决。

    对于业余爱好者或专家来说只是经验问题。

    【讨论】:

    • 首先,谢谢。我正在使用 Devart LinqConnect 模型。我认为它是一个实体框架。所以我用LinqtoSQLiteDataContext _conn = new LinqtoSQLiteDataContext(); 获取数据当我使用var persons = _conn.persons; 时,它会从person 表中获取所有数据。它使您知道的表格复数。它给我带来了所有的专栏,但我不想要它。我想在 RadGridView 中显示一些列。所以我以编程方式创建网格列。为此,我认为它必须是:r.Cells[i].Value = person.columns[i].Value; 但我不知道如何。
    • 当您的鼠标在 IDE 中移动到人物上时,工具提示会显示什么?
    • Devart.Data.Linq.Table&lt;person&gt; persons
    • 你能用ToList()方法把persons 转换成List吗?
    • 是的,我以前试过。它添加到 1:1、2:2 和 3:3 列和行 LinqtoSQLiteDataContext.persons 字符串。
    猜你喜欢
    • 2015-09-15
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多