Forum: PC-Programmierung DataGrid Aktualisierung/Upate/Scheduling?


von MikroMakro (Gast)


Lesenswert?

Hallo Gemeinde, ich bräuchte mal einen Gedankenanstoss.

Programmiersprache C#

Ich bilde in einem DataGrid den Inhalt eines Ordners ab.
Welche Wege gibt es das DataGrid zu updaten, wenn sich der Inhalt des 
Ordners ändert?
Mal abgesehen davon, die ItemSource mit einem ButtonClick_Event 
aufzurufen.

Wird die ItemSource regelmäßig abgefragt? Oder nur bei explizitem 
Aufruf?
Ich könnte mir auch eine minütliche Abfrage vorstellen.
Aber wenn es schon einen Automatismus gibt würde ich diesen nutzen 
wollen.

Danke im Voraus.

von Arc N. (arc)


Lesenswert?


von MikroMakro (Gast)


Lesenswert?

Hallo Arc Net,

ObservableCollection
Data Binding

sind erfüllt und funktionieren.

FileSystemWatcher - scheint das zu sein was ich "gesucht" habe.

Vielen Dank.:)

von MikroMakro (Gast)


Lesenswert?

Hallo die Variante mit dem FileSystemwatcher funktioniert gut.

Hier wurde jedoch anfangs eine: InvalidOperationException ausgelöst:

"Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich
 das Objekt im Besitz eines anderen Threads befindet."

Die Lösung hierzu ist die Aktion, im Ereignis, in ein Invoke zu packen.
1
        void fs_watch_Deleted(object sender, FileSystemEventArgs e)
2
        {
3
            dataGrid.Dispatcher.Invoke(new Action(delegate()
4
            {
5
6
                //Aktion
7
8
            }
9
            ));
10
        }


Bei dieser Variante wird der zu überwachende Ordner in kurzen 
Intervallen "abgetastet"
Wenn dieser Ordner über eine Netzwerkverbindung "abgetastet" wird, 
belastet dies die Verbindung sehr?

Danke im Voraus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.