Wie dynamisch zeigt die Bilder in einer asp.net gridview?
Ich habe ein gridview, hat eine Spalte, die derzeit gibt eine "1" wenn es eine Freigabe, oder 0, wenn nicht. Ich würde gerne einen "Daumen hoch" - Bild, wenn der Wert 1 ist für jede Zeile, oder gar nichts, wenn 0.
Was ist die beste Methode, dies zu tun? Ich dachte, der irgendwie mit dem rowdatabound-Ereignis, was ist der beste Weg, dies zu tun?
Dank,
Mark.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem rowdatabound-Ereignis sicherlich bietet Ihnen die Möglichkeit, dies zu tun. Es ist Recht geradlinig und intuitiv, dies zu tun. Und als mark erwähnt, könnte man eine template-Spalte. Ich würde wahrscheinlich nur entweder die Spalte Vorlage oder ein Bild-Feld, um dies zu verwalten:
Würden Sie brauchen dann eine Methode wie die folgende in Ihrer codebehind:
http://www.asp.net/learn/data-access/tutorial-12-cs.aspx hat gute Details über die Verwendung der template-Spalte.
Die beste Methode ist wohl das eine passt mit dem anderen display. Werden die anderen Spalten müssen vergleichbar massieren? Könnten Sie besser dran, kümmert sich um Sie alle in einem Rutsch in das rowdatabound-Ereignis. Aber wenn es deine einzige änderung an den Daten mithilfe einer template-Spalte, oder die image-Spalte, wird man vermutlich am einfachsten zu Folgen und halten die ganze Seite sauber.
Ein anderer Ansatz, der sehr flexibel ist die Verwendung einer template-Spalte. Dies gibt Ihnen viel Freiheit. Zum Beispiel, können Sie den Wert Ihrer Spalte zu wechseln, die Argumente für ein img-tag (oder zum Umschalten zwischen zwei img-tags) und/oder geben Sie Argumente auf einen link.
Ich habe immer gefunden, template-Spalten ganz einfach.
Sollten Sie in der Lage sein, um ein Bild zu verwenden-Spalte und binden Sie die url für eine Methode, die 1 oder 0 und gibt das richtige Bild-url. Sehen http://msdn.microsoft.com/en-us/library/aa479350.aspx.
Dies ist ein wenig chaotisch, aber es ist alles in der Vorlage enthaltenen Tags:
Hoffe, das hilft!
Danke Jungs, ich endete damit, dass es mit einem boundfield -> rowdatabound Lösung.
Hatte ich schon Datenbindung event code passiert, so dass ich nur Hinzugefügt, um es. Ich habe ein imagebutton-Steuerelement auf es und sieht gut aus jetzt (ein wenig aus der Mitte, aber ich denke, es ist besser als vorher).
Danke für die Vorschläge,
Mark.