Ist es möglich, eine Nachricht in einem leeren Datagrid anzuzeigen?

8

Ich habe ein Datagrid, das mit CSV-Daten gefüllt wird, wenn der Benutzer eine Datei darauf zieht / legt. Ist es möglich, eine Nachricht im leeren Raster anzuzeigen, zum Beispiel "Bitte ziehen Sie eine Datei hierher" oder "Dieses Raster ist derzeit leer". Das Gitter wird derzeit als ein dunkelgraues Feld angezeigt, während ich warte, bis die Datei zum Einrichten der Spalten usw. gezogen wird.

    
Ady Kemp 09.02.2009, 21:42
quelle

4 Antworten

8

Wir haben das DataGridView-Steuerelement subclassiert und hinzugefügt. Wir brauchten keine Drag / Drop-Funktionalität - wir mussten dem Benutzer nur mitteilen, wenn keine Daten von seiner Abfrage zurückgegeben wurden.

Wir haben eine leereText -Eigenschaft, die wie folgt deklariert ist:

%Vor%

und überladen die PaintBackground-Funktion:

%Vor%     
geofftnz 09.02.2009, 21:59
quelle
1

Ich denke, es ist am einfachsten, ein riesiges Label-Steuerelement zu erstellen, um das "Drag Here" auszuführen und das Drag / Drop-Ereignis des Labels zu handhaben. Wenn das Ziehen / Ablegen abgeschlossen ist, blende die Beschriftung aus und zeige das Gitter an.

    
Brandon 09.02.2009 21:45
quelle
1

Wenn Sie stattdessen eine Gridview verwenden, können Sie die EmptyDataText-Eigenschaft verwenden. Es kann alles, was ein Datagrid kann und (IMHO) Ich denke, es ist in den meisten Fällen einfacher zu arbeiten

    
Josh Mein 09.02.2009 21:48
quelle
0

Was ich in dieser Situation mache, ist, dem Formular ein Tab-Control hinzuzufügen, den DGV in einen Tab und ein Label ("Drag Here" oder etwas ähnliches) in das andere Tab einzufügen. Blenden Sie die Registerkarten aus. Wenn der DGV leer ist, zeigen Sie den Tab mit dem Label an. Genau wie die Antwort von routeNpingme würden Sie das Drag / Drop-Ereignis hier behandeln, den DGV im Hintergrund laden und dann die Tabs wechseln, wenn das Laden beendet ist. Das ist gut, weil Sie in VS Designer auch einfach zwischen den Registerkarten hin und her wechseln können.

    
Rob Lund 09.02.2009 22:34
quelle

Tags und Links