DataGridColumn.HeaderImageUrl-Eigenschaft
Ruft den Speicherort eines Bilds ab, das im Kopfzeilenbereich der Spalte angezeigt werden soll, oder legt diesen fest.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Public Overridable Property HeaderImageUrl As String
'Usage
Dim instance As DataGridColumn
Dim value As String
value = instance.HeaderImageUrl
instance.HeaderImageUrl = value
public virtual string HeaderImageUrl { get; set; }
public:
virtual property String^ HeaderImageUrl {
String^ get ();
void set (String^ value);
}
/** @property */
public String get_HeaderImageUrl ()
/** @property */
public void set_HeaderImageUrl (String value)
public function get HeaderImageUrl () : String
public function set HeaderImageUrl (value : String)
Eigenschaftenwert
Der Speicherort eines Bilds, das im Kopfzeilenbereich der Spalte angezeigt werden soll. Der Standardwert ist String.Empty.
Hinweise
Mit der HeaderImageUrl-Eigenschaft geben Sie den URL eines Bilds an, das im Kopfzeilenbereich der Spalte angezeigt werden soll. Sie können einen relativen oder einen absoluten URL verwenden. Ein relativer URL verknüpft den Speicherort des Bilds mit dem Speicherort der Webseite, ohne einen vollständigen Pfad auf dem Server anzugeben. Der Pfad ist relativ zum Speicherort der Webseite. Auf diese Weise wird das Verschieben der gesamten Site in ein anderes Verzeichnis auf dem Server vereinfacht, denn der Pfad des Bilds muss im Code nicht aktualisiert werden. Ein absoluter URL stellt den vollständigen Pfad bereit, sodass für das Verschieben der Site in ein anderes Verzeichnis das Aktualisieren des Codes erforderlich ist.
Hinweis
Wenn Sie im Kopfzeilenbereich der Spalte Text anstelle eines Bilds anzeigen möchten, legen Sie die HeaderText-Eigenschaft anstelle dieser Eigenschaft fest.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie mit der HeaderImageUrl-Eigenschaft das im Kopfzeilenbereich der Spalte angezeigte Bild angegeben wird.
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
Function CreateDataSource() As ICollection
' Create sample data for the DataGrid control.
Dim dt As DataTable = New DataTable()
Dim dr As DataRow
' Define the columns of the table.
dt.Columns.Add(new DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(new DataColumn("StringValue", GetType(String)))
dt.Columns.Add(new DataColumn("CurrencyValue", GetType(Double)))
dt.Columns.Add(new DataColumn("BooleanValue", GetType(Boolean)))
' Populate the table with sample values.
Dim i As Integer
For i = 0 To 4
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " & i.ToString()
dr(2) = 1.23 * (i + 1)
dr(3) = False
dt.Rows.Add(dr)
Next i
' To persist the data source between posts to the server, store
' it in session state.
Session("Source") = dt
Dim dv As DataView = New DataView(dt)
Return dv
End Function
Sub Page_Load(sender As Object, e As EventArgs)
' Load sample data only once, when the page is first loaded.
If Not IsPostBack Then
' Make sure to set the header text before binding the data to
' the DataGrid control; otherwise, the change will not appear
' until the next time the page is refreshed.
ItemsGrid.Columns(0).HeaderText = "Item"
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub
Sub Button_Click(sender As Object, e As EventArgs)
Dim subtotal As Double = 0.0
' Update the data source with the user's selection and
' calculate the subtotal.
Dim dt As DataTable = UpdateSource(subtotal)
' Display the subtotal in the footer section of the third column.
ItemsGrid.Columns(2).FooterText = "Subtotal: " & subtotal.ToString("c")
' Create a DataView and bind it to the DataGrid control.
Dim dv As DataView = New DataView(dt)
ItemsGrid.DataSource = dv
ItemsGrid.DataBind()
End Sub
' This version of UpdateSource updates the data source and
' calculates the subtotal.
Function UpdateSource(ByRef subtotal As Double) As DataTable
' Retrieve the data table from session state.
Dim dt As DataTable = CType(Session("Source"), DataTable)
Dim item As DataGridItem
' Iterate through the Items collection and update the data source
' with the user's selections. If an item is selected, add the
' amount of the item to the subtotal.
For Each item in ItemsGrid.Items
' Retrieve the SelectCheckBox CheckBox control from the
' specified item (row) in the DataGrid control.
Dim selection As CheckBox = CType(item.FindControl("SelectCheckBox"), CheckBox)
If Not selection Is Nothing
' Update the BooleanValue field with the value of the check box.
dt.Rows(item.ItemIndex)(3) = selection.Checked
' Add the value of the item to the subtotal if the item is
' selected.
If selection.Checked Then
subtotal += Convert.ToDouble(item.Cells(2).Text.Substring(1))
End If
End If
Next
' Save the data source.
Session("Source") = dt
Return dt
End Function
' This version of UpdateSource updates the data source only.
Function UpdateSource() As DataTable
' Retrieve the data table from session state.
Dim dt As DataTable = CType(Session("Source"), DataTable)
Dim item As DataGridItem
' Iterate through the Items collection and update the data source
' with the user's selections. If an item is selected, add the
' amount of the item to the subtotal.
For Each item in ItemsGrid.Items
' Retrieve the SelectCheckBox CheckBox control from the
' specified item (row) in the DataGrid control.
Dim selection As CheckBox = _
CType(item.FindControl("SelectCheckBox"), CheckBox)
If Not selection Is Nothing
' Update the BooleanValue field with the value of the check box.
dt.Rows(item.ItemIndex)(3) = selection.Checked
End If
Next
' Save the data source.
Session("Source") = dt
Return dt
End Function
Sub Selection_Change(sender As Object, e As EventArgs)
' Set the image for the header section of the first column in
' the DataGrid control.
ItemsGrid.Columns(0).HeaderImageUrl = List.SelectedItem.Value
' Create a DataView and bind it to the DataGrid control. This
' will refresh the DataGrid control with the updated header image.
Dim dv As DataView = New DataView(UpdateSource())
ItemsGrid.DataSource = dv
ItemsGrid.DataBind()
End Sub
</script>
<body>
<form runat=server>
<h3>DataGridColumn HeaderImageUrl Example</h3>
Select an image for the header section of the first column.
<br><br>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="True"
AutoGenerateColumns="False"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<FooterStyle BackColor="#00aaaa">
</FooterStyle>
<Columns>
<asp:BoundColumn DataField="IntegerValue"
HeaderImageUrl="image1.jpg"/>
<asp:BoundColumn DataField="StringValue"
HeaderImageUrl="image2.jpg"/>
<asp:BoundColumn DataField="CurrencyValue"
DataFormatString="{0:c}"
HeaderImageUrl="image3.jpg">
<ItemStyle HorizontalAlign="Right">
</ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn
HeaderImageUrl="image4.jpg">
<ItemTemplate>
<asp:CheckBox id="SelectCheckBox"
Text="Add to Cart"
Checked='<%# DataBinder.Eval(Container.DataItem, "BooleanValue") %>'
runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<br><br>
<asp:Button id="SubmitButton"
Text="Submit"
OnClick = "Button_Click"
runat="server"/>
<hr>
Header image for first column: <br>
<asp:DropDownList id="List"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server">
<asp:ListItem Selected="True" Value="image1.jpg"> Image 1 </asp:ListItem>
<asp:ListItem Value="image2.jpg"> Image 2 </asp:ListItem>
<asp:ListItem Value="image3.jpg"> Image 3 </asp:ListItem>
<asp:ListItem Value="image4.jpg"> Image 4 </asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
ICollection CreateDataSource()
{
// Create sample data for the DataGrid control.
DataTable dt = new DataTable();
DataRow dr;
// Define the columns of the table.
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
dt.Columns.Add(new DataColumn("BooleanValue", typeof(bool)));
// Populate the table with sample values.
for (int i = 0; i < 5; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dr[3] = false;
dt.Rows.Add(dr);
}
// To persist the data source between posts to the server, store
// it in session state.
Session["Source"] = dt;
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
// Load sample data only once, when the page is first loaded.
if (!IsPostBack)
{
// Make sure to set the header text before binding the data to
// the DataGrid control; otherwise, the change will not appear
// until the next time the page is refreshed.
ItemsGrid.Columns[0].HeaderText = "Item";
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();
}
}
void Button_Click(Object sender, EventArgs e)
{
double subtotal = 0.0;
// Update the data source with the user's selection and
// calculate the subtotal.
DataTable dt = UpdateSource(ref subtotal);
// Display the subtotal in the footer section of the third column.
ItemsGrid.Columns[2].FooterText =
"Subtotal: " + subtotal.ToString("c");
// Create a DataView and bind it to the DataGrid control.
DataView dv = new DataView(dt);
ItemsGrid.DataSource = dv;
ItemsGrid.DataBind();
}
// This version of UpdateSource updates the data source and
// calculates the subtotal.
DataTable UpdateSource(ref double subtotal)
{
// Retrieve the data table from session state.
DataTable dt = (DataTable)Session["Source"];
// Iterate through the Items collection and update the data source
// with the user's selections. If an item is selected, add the
// amount of the item to the subtotal.
foreach (DataGridItem item in ItemsGrid.Items)
{
// Retrieve the SelectCheckBox CheckBox control from the
// specified item (row) in the DataGrid control.
CheckBox selection = (CheckBox)item.FindControl("SelectCheckBox");
if (selection != null)
{
// Update the BooleanValue field with the value of the check box.
dt.Rows[item.ItemIndex][3] = selection.Checked;
// Add the value of the item to the subtotal if the item is
// selected.
if (selection.Checked)
{
subtotal +=
Convert.ToDouble(item.Cells[2].Text.Substring(1));
}
}
}
// Save the data source.
Session["Source"] = dt;
return dt;
}
// This version of UpdateSource updates the data source only.
DataTable UpdateSource()
{
// Retrieve the data table from session state.
DataTable dt = (DataTable)Session["Source"];
// Iterate through the Items collection and update the data source
// with the user's selections. If an item is selected, add the
// amount of the item to the subtotal.
foreach (DataGridItem item in ItemsGrid.Items)
{
// Retrieve the SelectCheckBox CheckBox control from the
// specified item (row) in the DataGrid control.
CheckBox selection = (CheckBox)item.FindControl("SelectCheckBox");
if (selection != null)
{
// Update the BooleanValue field with the value of the check box.
dt.Rows[item.ItemIndex][3] = selection.Checked;
}
}
// Save the data source.
Session["Source"] = dt;
return dt;
}
void Selection_Change(Object sender, EventArgs e)
{
// Set the image for the header section of the first column in
// the DataGrid control.
ItemsGrid.Columns[0].HeaderImageUrl = List.SelectedItem.Value;
// Create a DataView and bind it to the DataGrid control. This
// will refresh the DataGrid control with the updated header image.
DataView dv = new DataView(UpdateSource());
ItemsGrid.DataSource = dv;
ItemsGrid.DataBind();
}
</script>
<body>
<form runat=server>
<h3>DataGridColumn HeaderImageUrl Example</h3>
Select an image for the header section of the first column.
<br><br>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
ShowFooter="True"
AutoGenerateColumns="False"
runat="server">
<HeaderStyle BackColor="#00aaaa">
</HeaderStyle>
<FooterStyle BackColor="#00aaaa">
</FooterStyle>
<Columns>
<asp:BoundColumn DataField="IntegerValue"
HeaderImageUrl="image1.jpg"/>
<asp:BoundColumn DataField="StringValue"
HeaderImageUrl="image2.jpg"/>
<asp:BoundColumn DataField="CurrencyValue"
DataFormatString="{0:c}"
HeaderImageUrl="image3.jpg">
<ItemStyle HorizontalAlign="Right">
</ItemStyle>
</asp:BoundColumn>
<asp:TemplateColumn
HeaderImageUrl="image4.jpg">
<ItemTemplate>
<asp:CheckBox id="SelectCheckBox"
Text="Add to Cart"
Checked='<%# DataBinder.Eval(Container.DataItem, "BooleanValue") %>'
runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
<br><br>
<asp:Button id="SubmitButton"
Text="Submit"
OnClick = "Button_Click"
runat="server"/>
<hr>
Header image for first column: <br>
<asp:DropDownList id="List"
AutoPostBack="True"
OnSelectedIndexChanged="Selection_Change"
runat="server">
<asp:ListItem Selected="True" Value="image1.jpg"> Image 1 </asp:ListItem>
<asp:ListItem Value="image2.jpg"> Image 2 </asp:ListItem>
<asp:ListItem Value="image3.jpg"> Image 3 </asp:ListItem>
<asp:ListItem Value="image4.jpg"> Image 4 </asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
DataGridColumn-Klasse
DataGridColumn-Member
System.Web.UI.WebControls-Namespace
String.Empty