C# Datensätze in DataGridView markieren

addprocess

Newbie
Registriert
Dez. 2013
Beiträge
2
In Verlaufsdaten sollen alle Datensätze nur einmal angezeigt werden. Mit DISTINCT alles sehr schön.

Nun folgendes Problem:
Im DataGridView sollen alle Datensätze FETT angezeigt werden, bei denen in einer Spalte, die nicht angezeigt werden soll, TRUE enthalten ist.
Es gibt aber immer den gleichen Dtaensatz mit FALSE als Standard.

Beispiel:
Wert1 | 0 >> nicht fett anzeigen (Font normalFont)
Wert1 | 1 >> soll fett angezeigt werden (Font boldFont)

Ich möchte aber, das nur eine Zeile/Datensatz mit "Wert1" im DataGridView aufgelistet wird.

Da hier 40t Datensätze und mehr im System enthalten sind (ist eine View) kommt es zu Performance Problemen bei Unterabfragen pro Datensatz.

Lösungen sind extrem willkommen!
 
addprocess schrieb:
Im DataGridView sollen alle Datensätze FETT angezeigt werden, bei denen in einer Spalte, die nicht angezeigt werden soll, TRUE enthalten ist.
Es spielt keine Rolle, ob das Feld angezeigt wird, oder nicht. Wenn du das RowDataBound Event abbonierst, kannst du alle Zeilen nochmal durchgehen und entsprechend formatieren. Evtl. geht das auch mit einem TemplateField.

addprocess schrieb:
Ich möchte aber, das nur eine Zeile/Datensatz mit "Wert1" im DataGridView aufgelistet wird.
Das ist doch eher das Problem der SQL-Abfrage. Warum gibt es überhaupt doppelte Zeilen?

Aus dem Stegreif heraus würde ich sagen: Mach ein Group By über alle Spalten außer "Wert1" und verwende dann dafür MAX([Wert1]) AS 'Wert1'.
 
Lösung:
SELECT DISTINCT
att1, MAX(CAST(att2 as INT))
FROM Table_1
GROUP BY att1
 
Zurück
Oben