2017-07-22 2 views
-1

Ich habe ein DataGridView mit Quoten drin.C# min max Wert auf DataGridView

Ich möchte die kleinste Quote finden und ihre Schriftart mit rot und die maximale Quote färben, um ihre Schriftart mit grün zu färben.

Zeichnen einer benutzerdefinierten DataGrid-Komponente mit transparentem Hintergrund auf einem UserControl.

+0

Haben Sie irgendetwas versucht, das Ihre gewünschte Arbeit nicht geschafft hat? Bitte werfen Sie einen Blick auf die Anleitung [So stellen Sie eine gute Frage] (https://stackoverflow.com/help/asking), um eine bessere Vorstellung davon zu erhalten, wie das Stackoverflow-System funktioniert, und dann erhalten Sie bessere Hilfe und noch besser Antworten. –

Antwort

0

Sie können das Ereignis "DataBindingComplete" verwenden. Dies wird den Trick machen.

private void qoutaGrid_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) 
    { 
     int min = qoutaGrid.Rows.Cast<DataGridViewRow>().Min(r => Convert.ToInt32(r.Cells["MyProperty"].Value)); 
     int max = qoutaGrid.Rows.Cast<DataGridViewRow>().Max(r => Convert.ToInt32(r.Cells["MyProperty"].Value)); 

     for (int i = 0; i < qoutaGrid.Rows.Count; i++) 
     { 
      int value = Convert.ToInt32(qoutaGrid.Rows[i].Cells["MyProperty"].Value); 
      if (value == min) 
      { 
       qoutaGrid.Rows[i].DefaultCellStyle.ForeColor = Color.Red; 
      } 
      if (value == max) 
      { 
       qoutaGrid.Rows[i].DefaultCellStyle.ForeColor = Color.Green; 
      } 
     } 
    } 

Sagen wir, Ihre gewünschte Nummer ist in MyProperty gespeichert. Sie können Minimum und Maximum der gebundenen Datenquelle erhalten. Dann können Sie andere Werte mit min und max vergleichen, um die Vordergrundfarbe der Zelle mit DefaultCellStyle festzulegen.

+0

Spalte namens MyProperty kann nicht gefunden werden. Parametername: columnName, es hat 6 Spalten und 6 Zeilen .. ist nicht über eine Spalte, ich möchte das Minimum aller Spalten und Zeilen und das Maximum aller Spalten und Zeilen finden. –

+0

@MelaminBerati Dieses Wort "MyProperty" ist nur ein Beispiel, weil ich den richtigen Namen der Spalte nicht kannte !! Sie müssen den Namen der genannten Kontingentspalten verwenden. – aminexplo

+0

Es gibt 6 Spalten und werden wie folgt QUOTA1, QUOTA2, QUOTA3, QUOTA4, QUOTA5, QUOTA6 benannt –