Nachdem ich nirgends im Forum ein gleich gelagertes Thema fand, traue ich mir mein Problem zu posten.
Ich habe ein gebundenes DataGridView
var getData = from t in ctx.TTASKs
select new { t.TAS_ACTIVE, t.TAS_CAPTION, t.TAS_PROCEDURE };
dataGridView2.DataSource = getData;
wobei die Spalte TAS_ACTIVE vom Typ int16 ist.
Die sollte nun aber zu einer DataGridViewCheckBoxColumn "mutieren" und auch Änderungen in der DB persistieren.
Leider kenne ich mich zu wenig aus. Habe auch schon probiert, die Spalte im Entity-Model als boolean zu definieren - ist leider nicht erlaubt, weil sie ja in der DB numeric ist.
Irgendjemand eine Lösung, Danke!
Da fällt mir jetzt spontan nichts anderes ein als ein ViewModel-Objekt zu bauen welches dein eigentl. Objekt wrappt:
class TaskForDataGridView {
public Task RealInstance {get; private set;};
public TaskForDataGridView(Task realInstance) {
RealInstance= realInstance;
}
public bool TAS_ACTIVE {
get { return RealInstance.TAS_ACTIVE > 0 ? true : false; }
set { RealInstance.TAS_ACTIVE = (value ? 1 : 0); }
}
}
Dann machst du deine Datenbankabfrage und erstellst eine Liste aus TaskForDataGridView-objekten die du dann binden kannst.