Ich habe eine DataGridView, die ich an eine DataTable binde. Die DataTable ist ein rein numerischer Wert. Es ist erforderlich, dass alle n Zeilen in der DataGridView Text enthalten und nicht die numerischen Werte (um Abschnitte für den Benutzer visuell zu trennen). Ich bin glücklich, diese Textdaten nach dem Binden in die DataTable oder in das DataGridView zu setzen, aber ich sehe keine Möglichkeit, diese Textdaten in beide Spaltenformate zu setzen, da beide numerische Daten benötigen - ich bekomme ein "kann nicht Setzen Sie eine Zeichenfolge in einen Dezimal "Fehler für beide. Irgendwelche Ideen, wie ich das Format einer bestimmten Zeile oder Zelle in der DataTable oder DataGridView ändern?Wie kann ich verschiedene Zellenformate in WinForm DataGridView erstellen C#
4
A
Antwort
4
Sie können einen Handler für den Cellformatting-Ereignis des Datagridview bieten, wie zum Beispiel:
public partial class Form1 : Form
{
DataGridViewCellStyle _myStyle = new DataGridViewCellStyle();
public Form1()
{
InitializeComponent();
_myStyle.BackColor = Color.Pink;
// We could also provide a custom format string here
// with the _myStyle.Format property
}
private void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
// Every five rows I want my custom format instead
// of the default
if (e.RowIndex % 5 == 0)
{
e.CellStyle = _myStyle;
e.FormattingApplied = true;
}
}
...
Für Unterstützung auf Ihren eigenen Stil finden Sie im DataGridView.CellFormatting Event
Thema in der Online-Hilfe zu schaffen.
1
Ich habe die Janus GridEx für diese Art von Nicht-Standard-Verhalten verwendet. (Zum Teil weil es viel mehr als nur das tut, wie Gruppieren und Summieren, Kartenansicht, etc.) Es gibt einige gute Demos auf der Website.
(kein Verkaufsargument;. Ich hatte gerade eine gute Erfahrung ihre Komponente)
1
Ist dies Ihr Problem lösen?
// Set the data source.
dataGridView1.DataSource = dataTable1;
// Create a new text box column.
DataGridViewColumn c1 = new DataGridViewTextBoxColumn();
const string C1_COL_NAME = "Custom1";
c1.Name = C1_COL_NAME;
// Insert the new column where needed.
dataGridView1.Columns.Insert(1, c1);
// Text can then be placed in the rows of the new column.
dataGridView1.Rows[0].Cells[C1_COL_NAME].Value = "Some text...";
Die ursprünglichen Datentabellenbindungen sollten noch vorhanden sein.
Verwandte Themen
- 1. C# winform erstellen Spalten in Datagridview mit ObservableCollection
- 2. DataGridView Daten von C# WinForm zu HTML
- 3. WinForm DataGridView Multi-Line
- 4. wie Checkbox Größe in Datagridview winform
- 5. Wie C# Winform Datagridview filtern, die mit Visual Studio
- 6. Kind datagridview zum Elterntextkasten winform
- 7. Standardmäßige graue Spalte in Datagridview Winform ausblenden
- 8. Wie können wir Seitenumbrüche in Datagridview in Winform
- 9. datagridview in C#
- 10. Zellenformate in phpexcel
- 11. WinForm DataGridView Sortierung nach String aus Spalte C#
- 12. Wie kann ich verschiedene DLLs in einem Projekt erstellen?
- 13. Wie kann ich ein Kontextmenü in C# in einem datagridview erstellen
- 14. C# app.config in winform
- 15. Wie kann ich XML in C# erstellen?
- 16. Zeichnen in C# winform ist ziemlich langsam
- 17. C# - wie kann ich aktualisieren Datagridview nach Zeilen
- 18. Programmatisches Erstellen von Datagridview Datatable
- 19. Drucken und Erstellen von Berichten in C# winform
- 20. Wie ändert man die Farbe von winform DataGridview header?
- 21. C# Custom Control winform
- 22. Wie aktualisiere ich datagridview
- 23. Binding Liste <T> zu Datagridview in WinForm
- 24. Wie kann ich verschiedene Ziele für separate iOS-Anwendungen erstellen?
- 25. FIFO mit winform in C#
- 26. Wie kann ich C-Header-Dateien erstellen
- 27. Child DataGridView in einem DataGridView
- 28. WinForm mit UserControl mit DataGridView verursacht Designer Problem
- 29. Wie kann ich Komponententests mit Sammlungen in C# erstellen?
- 30. C# WinForm - Ladebildschirm
Sie glauben also nicht, dass meine Anforderung mit dem Standard DataGridView erfüllt werden kann? – Handleman
Nun, ich zögere, das zu sagen, weil es hier Leute mit mehr Erfahrung gibt, die das WinForms-Kontrollverhalten ändern als ich. Ich bin ehrlich gesagt überrascht, dass niemand sonst auftaucht. – JMD