Per ButtonColumn wird im Datagrid ein Datensatz ausgewählt. Das optische Erscheinungsbild entspricht allerdings meist nicht mittleren/ gehobenen Ansprüchen. Ein Bildchen das bekanntlich mehr als Tausend Worte sagt, muss her!
Ein üblicher Ansatz ist die Verwendung einer Template Column. Dort kann ja bekanntlich jedes WebControl eingebaut werden, auch ein Imagebutton.
<asp:TemplateColumn> <ItemTemplate> <asp:ImageButton id="ImageButton1" runat="server" CommandName="select" ImageUrl="images/select.jpg"> </asp:ImageButton>
</ItemTemplate>
|
Wenn der Commandname Select lautet, wird automatisch die Zeile gewählt und farblich entsprechende der Definition des Selectecitemtemplates dargestellt. Auf jeden Fall wird die Funktion Itemcommand gefeuert. Wenn mehrere Commands exisiteren kann in dieser Funktion per Commandname verzweigt werden.
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand Response.Write(e.CommandName) End Sub |
Wers aber lieber kürzer mag, wird mit einer üblichen ButtonColumn nur einen Button erzeugen.
<asp:ButtonColumn Text="Auswählen" ButtonType="PushButton" CommandName="Select"> </asp:ButtonColumn> |
Um auch dort ein Image zu erzeugen, gibt es einen Trick, der wenig bekannt ist. Man muss einfach nur in das Text Feld die Infos für ein Image reinlegen in der Form:
<IMG src="images/select.gif" border=0> |
Die spitzen Klammern müssen allerdings per HTML Entitys dargestellt werden. Der Button muss auch zum Linkbutton gewandelt werden.
<asp:ButtonColumn Text="<img src=images/select.jpg border=0>" CommandName="Select"> </asp:ButtonColumn> |