Frage

ich mit mehreren Spalten von Daten, die ein Datagrid verwende (nennen wir es myDG) und eine dieser Säulen ist ein Datetime an eine Datenquelle gebunden. Sein Wert ist abhängig von einem „Job“ Objekt einen Job und die Zuordnung des Datum Zeitwert abgeschlossen. Da dies in der Regel zu einer Minute in Anspruch nimmt wird der Wert am Anfang nicht zugeordnet links.

Die asp.net Definition der Spalte ist:

<asp:boundcolumn 
  DataField="CompletedDate" 
  HeaderText="Date Completed" 
  DataFormatString="{0:dd-MMM-yyyy <br> hh:mm:ss tt}" />

So ist die Funktionalität funktioniert gut, wenn der „job“ abgeschlossen hat, und es wird die Zeit eingestellt. Aber vorher, während die Zeilen angezeigt werden, zeigt es als

01-Jan-0001 12.00.00

Ich bin zu wollen, dies zu verstecken und festgestellt, dass die beste Art und Weise, dass bestimmte Zeile und Spalte mit einem leeren maskieren würde, oder den Wert vorübergehend außer Kraft setzen. Ich habe Probleme dies zu tun und einen Weg zu finden, dass bestimmte Zeile und Spalte zuzugreifen.

Es ist die [3] Spalte des Datagrid und immer in der ersten Zeile (da neue Zeilen an der Spitze hinzugefügt).

Gibt es eine Möglichkeit direkt diese Zelle zugreifen und vorübergehend ‚verstecken‘ seinen Inhalt, oder sie maskieren? Im Idealfall wäre es toll, wenn ein Weg, um leer aus allen Zeilen ist, die einen Wert gleich diese in ihrer Kolonne hatte, sondern ein Weg, um die spezifische Zelle zu manipulieren, wie gut funktionieren würde.

-Danke im Voraus!

War es hilfreich?

Lösung

Ich habe ähnliche Dinge in der Vergangenheit getan und hier ist das, was ich getan habe.

Binden Sie die Daten in eine Spalte, die überhaupt nicht sichtbar ist. Fügen Sie eine sichtbare Spalte für die Daten, die Sie anzeigen möchten. Zu der Zeit Sie Ihre Raster füllen, Schleife durch die Datensätze und für alle, die einen Wert haben, nicht 01-Jan-0001 12.00.00, stellen Sie Ihre sichtbare Zeile auf diesen Wert. Wenn er gleich 01-Jan-0001 12.00.00 Fall ist, legen Sie den Wert Ihrer sichtbaren Zeile auf einen leeren String oder einen Wert Ihrer Wahl. (Sie könnten sogar die Textfarbe auf das gleiche wie die Hintergrundfarbe festgelegt, so dass es den Benutzer nicht erscheinen würde)

Andere Tipps

Ich würde wahrscheinlich Haken OnItemDataBound, überprüfen Sie den Wert, und ersetzen / umformatieren, falls erforderlich.

, fragte ich eine ähnliche Frage zu verstecken Spalten hier .

Ich hatte das RowCreated Ereignis zu verwenden, um bestimmte Spalten vom Benutzer (PK Spalten) zu verstecken und diese können Ihnen auch helfen (vor allem bei Databound-Säulen versteckt).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top