2017-05-12 9 views
0

Ich habe Datagridview auf meiner Winform. Ich habe häufig Daten von anderen Prozessen, die auf Datagridview gedruckt werden müssen. Welches Ereignis von Datagridview wird häufig ausgelöst, wenn ich meine Daten drucken kann? Ist es möglich durch ein Event oder einen anderen Ansatz erforderlich?DataGridView in C# WinForm

+0

[Timer] (https://msdn.microsoft.com/en-us/library/system.windows.forms.timer (v = vs.110) .aspx) kann Brandereignis häufig. – Sinatr

+0

Warum triggern Sie nicht einfach das, was Sie auslösen möchten, wenn die Daten in die Datagridview gehen? – Taco2

+0

Im Allgemeinen ist es am einfachsten, das Gitter an eine Bindungsquelle zu binden und diese Quelle zu aktualisieren. Die Quelle wird die entsprechenden Ereignisse auslösen (unter der Annahme, dass eine Quelle wie BindingList <> verwendet wird). Der einzige Fehler ist die asynchrone Aktualisierung. Wenn die Quelle von einem anderen Thread als dem Thread aktualisiert wird, in dem das Grid erstellt wird, sind Fehler zu erwarten. (In diesem Fall könnten Sie eine flache Liste verwenden und 'Invalidate() das Gitter wenn aktualisiert oder in einem Timer) –

Antwort

0

Sie können eine Methode erstellen, die jedes Mal aufgerufen wird, müssen Sie die Datagridview drucken.

dt2.Rows.Clear(); //clear datagridview 
//dt2 is a datatable 
//here u can load your data into a datatable or what every you want 
dataGridView2.DataSource = dt2; 

Setzen Sie diesen Code in eine Methode und rufen Sie ihn jedes Mal, wenn Sie ihn brauchen. (ZB Timer alle 5 Sekunden)

+0

Mein Datagrid ist ein Logger und ich möchte die Daten behalten, selbst wenn jemand die Anwendung schließt. Wann immer jemand dies öffnet, sollten die vorherigen Daten bestehen bleiben und weiterhin neue Daten mit neuen Operationen protokollieren. Wie macht man das? – user7588316

+0

Sie könnten es in einer Textdatei oder ähnlichem speichern und diese Datei lesen, wenn Sie die Anwendung öffnen. – tatatoto

+0

Meine Anforderung - Logger, der Winform mit DataGrid-Steuerelement verwendet, um Daten aus anderen Anwendungen anzuzeigen. Andere Anwendungen senden nur die Zeichenfolge, die auf dem Logger erfasst werden muss, ob der Logger läuft oder nicht. Wenn der Benutzer den Logger öffnet, sollten alle Daten angezeigt werden. Sie wollen sagen, dass ich alle Daten in eine Textdatei schreiben und Logger mit dieser Textdatei aktualisieren muss. Recht? – user7588316