HyperLinkColumn.DatahrefFormatString プロパティ

URL がデータ ソースのフィールドにデータ連結される場合の、 HyperLinkColumn 内のハイパーリンクの URL の表示形式を取得または設定します。

Public Overridable Property DatahrefFormatString As String
[C#]
public virtual string DatahrefFormatString {get; set;}
[C++]
public: __property virtual String* get_DatahrefFormatString();public: __property virtual void set_DatahrefFormatString(String*);
[JScript]
public function get DatahrefFormatString() : String;public function set DatahrefFormatString(String);

プロパティ値

URL がデータ ソースのフィールドにデータ連結される場合の、 HyperLinkColumn 内のハイパーリンクの URL の表示形式を指定する文字列。既定値は String.Empty で、このプロパティが設定されていないことを示します。

解説

DatahrefFormatString プロパティを使用して、 HyperLinkColumn 内のハイパーリンクの URL にカスタムの表示形式を指定します。指定した形式は、データ ソースのフィールドにデータ連結された場合の URL にだけ適用されます。列内のハイパーリンクの URL に連結するフィールドを指定するには、 DatahrefField プロパティを設定します。

書式指定文字列の構文については、 String.Format のトピックを参照してください。

使用例

[Visual Basic, C#] DatahrefFormatString プロパティを使用して HyperLinkColumn 内のデータ連結されたハイパーリンクを書式設定する方法の例を次に示します。

 
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<html>

<head>

   <script runat="server">

      Function CreateDataSource() As ICollection 
      
         Dim dt As DataTable = New DataTable()
         Dim dr As DataRow
         Dim i As Integer

         dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
         dt.Columns.Add(New DataColumn("PriceValue", GetType(Double)))
       
         For i = 0 to 2 
         
            dr = dt.NewRow()

            dr(0) = i
            dr(1) = CDbl(i) * 1.23

            dt.Rows.Add(dr)

         Next i

         Dim dv As DataView = New DataView(dt)
         Return dv

      End Function

      Sub Page_Load(sender As Object, e As EventArgs) 
    
         MyDataGrid.DataSource = CreateDataSource()
         MyDataGrid.DataBind()

      End Sub

   </script>

</head>

<body>

   <form runat="server">

      <h3>HyperLinkColumn Example<h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DatahrefField="IntegerValue"
                 DatahrefFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>
           
         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>

[C#] 
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>

<html>

<head>

   <script runat="server">

      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;

         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("PriceValue", typeof(Double)));
       
         for (int i = 0; i < 3; i++) 
         {
            dr = dt.NewRow();

            dr[0] = i;
            dr[1] = (Double)i * 1.23;

            dt.Rows.Add(dr);
         }

         DataView dv = new DataView(dt);
         return dv;
      }

      void Page_Load(Object sender, EventArgs e) 
      {
         MyDataGrid.DataSource = CreateDataSource();
         MyDataGrid.DataBind();
      }

   </script>

</head>

<body>

   <form runat="server">

      <h3>HyperLinkColumn Example<h3>

      <asp:DataGrid id="MyDataGrid" 
           BorderColor="black"
           BorderWidth="1"
           GridLines="Both"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#aaaadd"/>

         <Columns>

            <asp:HyperLinkColumn
                 HeaderText="Select an Item"
                 DatahrefField="IntegerValue"
                 DatahrefFormatString="detailspage.aspx?id={0}"
                 DataTextField="PriceValue"
                 DataTextFormatString="{0:c}"
                 Target="_blank"/>
           
         </Columns>

      </asp:DataGrid>

   </form>

</body>
</html>

[Visual Basic, C#] 前述の例で選択された項目を表示する対応する例を次に示します。

 
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
 
   <script runat="server">
 
      Sub Page_Load(sender As Object, e As EventArgs) 
      
         Label1.Text = "You selected item: " & Request.QueryString("id")
      
      End Sub
 
   </script>
 
</head>
<body>
 
   <h3>Details page for DataGrid</h3>
 
   <asp:Label id="Label1"
        runat="server"/>
 
</body>
</html>


[C#] 
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
 
   <script runat="server">
 
      void Page_Load(Object sender, EventArgs e) 
      {
         Label1.Text = "You selected item: " + Request.QueryString["id"];
      }
 
   </script>
 
</head>
<body>
 
   <h3>Details page for DataGrid</h3>
 
   <asp:Label id="Label1"
        runat="server"/>
 
</body>
</html>

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

HyperLinkColumn クラス | HyperLinkColumn メンバ | System.Web.UI.WebControls 名前空間 | DatahrefField | String.Format | 書式設定の概要