2017-02-04 6 views
0

Edit: Ich benutze Devart LinqConnect Model. Ich denke, es ist ein Entitätsrahmen. So bekomme ich Daten mit LinqtoSQLiteDataContext _conn = new LinqtoSQLiteDataContext(); Wenn ich benutze, bringt es mir alle Daten von person Tabelle. Es pluralisiert den Tisch, den Sie kennen.Wert von SQLite mit Index erhalten

Ich bin Daten aus SQLite-Datei wie folgt erhalten:

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; 
} 

Als ich bing Methoden verwenden, ist es mir alle Spalten bringt, aber ich will es nicht. Ich möchte in der RadGridView einige Spalten zeigen. Also erstelle ich Rasterspalten programmgesteuert. Aber ich denke, diese Methode ist so amateurhaft. Ich möchte Daten in einer Zeile mit Iterationsnummer (Index) durchlaufen. Ich denke, es würde so aussehen:

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

Dazu denke ich es sein muss: r.Cells[i].Value = person.columns[i].Value; Aber ich weiß nicht, was anstelle von Fragezeichen zu schreiben?

Antwort

0

Ich weiß nicht, wie man die Markierungen auch schreibt, aber ich habe einen anderen Weg, dies zu tun.

Welche Art von persons in Ihrem Code? Ich denke, es ist ein List<Person>, wenn wahr ist, wird dieser Code gut sein.

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

Oder wenn es einen DataTable ist, unter Code verwendet:

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

Wenn beide oben falsch sind, können wir diskutieren weiter, wie es zu lösen.

Für Amateur oder Experte nur eine Frage der Erfahrung.

+0

Firstl, danke. Ich verwende Devart LinqConnect Model. Ich denke, es ist ein Entitätsrahmen. Ich erhalte also Daten mit 'LinqtoSQLiteDataContext _conn = new LinqtoSQLiteDataContext();' Wenn ich 'var persons = _conn.persons;' verwende, werden alle Daten von 'person' table angezeigt. Es pluralisiert den Tisch, den Sie kennen. Es bringt mir alle Spalten, aber ich will es nicht. Ich möchte in der RadGridView einige Spalten zeigen. Also erstelle ich Rasterspalten programmgesteuert. Dafür denke ich, dass es so sein muss: 'r.Cells [i] .Value = person.columns [i] .Wert;' Aber ich weiß nicht, wie. –

+0

Wenn Ihre Maus über Personen in der IDE bewegt wird, was zeigt der Tooltip? –

+0

'Devart.Data.Linq.Table Personen' –