|
xxx
Datagrid Tricks: Manually Defining Columns
by Charles Carroll
This grid example demonstrates complete display control of each column
filename=/experiments/datagridtricks/booksplainmanual.aspx
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<html>
<script language="VB" runat="server">
Sub Page_Load(Src As Object, E As EventArgs)
Dim ds As New DataSet
Dim FS As New FileStream(Server.MapPath("/experiments/data/books.xml"), FileMode.Open)
ds.ReadXml(FS)
MyDataGrid.DataSource = new DataView(ds.Tables(0))
MyDataGrid.DataBind()
FS.close()
End Sub
function Alterisbn(p1 as string) as string
return ("ISBN:" & p1)
end function
</script>
<body>
<h3>The Best Books Ever</h3>
<ASP:DataGrid id="MyDataGrid" runat="server"
AutoGenerateColumns=False
Width="100%"
BackColor="white"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
Headerstyle-BackColor="lightblue"
Headerstyle-Font-Size="10pt"
Headerstyle-Font-Style="bold"
>
<Columns>
<asp:HyperLinkColumn
DataNavigateUrlField="isbn"
DataNavigateUrlFormatString="http://www.amazon.com/exec/obidos/ISBN={0}/learnasp"
Text="Buy!"
/>
<asp:BoundColumn
HeaderText="BookCover"
DataField="isbn"
DataFormatString="<img src='http://images.amazon.com/images/P/{0}.01.MZZZZZZZ.jpg' height='60' width='45'>"
/>
<asp:TemplateColumn HeaderText="ISBN Fancy">
<ItemTemplate>
<%# Alterisbn(DataBinder.Eval(Container.DataItem, "isbn")) %>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn
HeaderText="Book ISBN"
DataField="isbn"/>
<asp:BoundColumn
HeaderText="Book Author"
DataField="author"/>
<asp:BoundColumn
HeaderText="Book Title"
DataField="title"/>
<asp:BoundColumn
HeaderText="Book Category"
DataField="category"/>
<asp:BoundColumn
HeaderText="Book Comments"
DataField="comments"/>
</Columns>
</ASP:DataGrid>
</body>
</html>
|