DataGrid.AllowSortingとは? わかりやすく解説

DataGrid.AllowSorting プロパティ

並べ替えが有効かどうかを示す値を取得または設定します

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Overridable Property
 AllowSorting As Boolean
Dim instance As DataGrid
Dim value As Boolean

value = instance.AllowSorting

instance.AllowSorting = value
public virtual bool AllowSorting { get;
 set; }
/** @property */
public boolean get_AllowSorting ()

/** @property */
public void set_AllowSorting (boolean value)
public function get AllowSorting
 () : boolean

public function set AllowSorting
 (value : boolean)

プロパティ
並べ替え有効な場合trueそれ以外場合false既定値false です。

解説解説

並べ替えが有効である場合、LinkButton コントロールは、SortExpression プロパティ設定されているそれぞれの列の見出しセクション表示されます。これらの LinkButton コントロールにより、選択した列ごとに DataGrid コントロール並べ替えることができます唯一の例外は、TemplateColumn 列型で HeaderTemplate プロパティ設定されている場合です。この場合は、列の HeaderTemplateButton コントロール作成する必要があります

SortCommand イベントは、LinkButton コントロール1 つクリックされたときに発生しますイベント ハンドラコード作成するかどうかユーザー任意です。ハンドラ典型的なロジックは、一覧を並べ替えデータDataGrid コントロール再連結ます。

使用例使用例

AllowSorting プロパティ使用して並べ替え有効にする方法次の例に示します

<%@ Page Language="VB" AutoEventWireup="True"
 %>
<%@ Import Namespace="System.Data"
 %>
 
 <html>
 <script language="VB" runat="server">
    
    Dim SortExpression As String
 
    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        Dim Rand_Num As New
 Random()
        
        dt.Columns.Add(New DataColumn("IntegerValue",
 GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue",
 GetType(String)))
        dt.Columns.Add(New DataColumn("CurrencyValue",
 GetType(Double)))
        
        Dim i As Integer
        For i = 0 To 14
            dr = dt.NewRow()
            
            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = 1.23 * Rand_Num.Next(1, 15)
            
            dt.Rows.Add(dr)
        Next i
        
        Dim dv As New DataView(dt)
        dv.Sort = SortExpression
        Return dv
    End Function 'CreateDataSource


    Sub Page_Load(sender As Object,
 e As EventArgs)
        
        If Not IsPostBack Then
            
            If SortExpression = ""
 Then
                SortExpression = "IntegerValue"
            End If
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
        End If
    End Sub 'Page_Load
     

    Sub Sort_Grid(sender As Object,
 e As DataGridSortCommandEventArgs)
        SortExpression = e.SortExpression.ToString()
        ItemsGrid.DataSource = CreateDataSource()
        ItemsGrid.DataBind()
    End Sub 'Sort_Grid
 
 </script>
 
 <body>
 
    <form runat=server>
 
       <h3>DataGrid Sorting Example</h3>
 
       <asp:DataGrid id="ItemsGrid" runat="server"
            BorderColor="black"
            BorderWidth="1"
            CellPadding="3"
            AllowSorting="true"
            OnSortCommand="Sort_Grid"
            HeaderStyle-BackColor="#00aaaa"
            AutoGenerateColumns="true"/>
 
    </form>
 
 </body>
 </html>

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <script language="C#" runat="server">
    
    string SortExpression;
 
    ICollection CreateDataSource() 
    {
       DataTable dt = new DataTable();
       DataRow dr;
       Random Rand_Num = new Random();
 
       dt.Columns.Add(new DataColumn("IntegerValue",
 typeof(Int32)));
       dt.Columns.Add(new DataColumn("StringValue",
 typeof(string)));
       dt.Columns.Add(new DataColumn("CurrencyValue",
 typeof(double)));
 
       for (int i = 0; i < 15; i++) 
       {
          dr = dt.NewRow();
 
          dr[0] = i;
          dr[1] = "Item " + i.ToString();
          dr[2] = 1.23 * Rand_Num.Next(1, 15);
 
          dt.Rows.Add(dr);
       }
 
       DataView dv = new DataView(dt);
       dv.Sort=SortExpression;
       return dv;
    }
 
    void Page_Load(Object sender, EventArgs e) 
    {
 
       if (!IsPostBack) 
       {
 
          if (SortExpression == "")
             SortExpression = "IntegerValue";      
          ItemsGrid.DataSource = CreateDataSource();
          ItemsGrid.DataBind();
       }
 
    }
 
    void Sort_Grid(Object sender, DataGridSortCommandEventArgs
 e) 
    {
       SortExpression = e.SortExpression.ToString();
       ItemsGrid.DataSource = CreateDataSource();
       ItemsGrid.DataBind();
    }
 
 </script>
 
 <body>
 
    <form runat=server>
 
       <h3>DataGrid Sorting Example</h3>
 
       <asp:DataGrid id="ItemsGrid" runat="server"
            BorderColor="black"
            BorderWidth="1"
            CellPadding="3"
            AllowSorting="true"
            OnSortCommand="Sort_Grid"
            HeaderStyle-BackColor="#00aaaa"
            AutoGenerateColumns="true"/>
 
    </form>
 
 </body>
 </html>

<%@ Page Language="JScript" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
 <html>
 <script language="JScript" runat="server">
    
    var SortExpression : String;
 
    function CreateDataSource () : ICollection
    {
      var dt : DataTable = new DataTable();
      var dr : DataRow;
      var Rand_Num : Random = new Random();
 
      dt.Columns.Add(new DataColumn("IntegerValue",
 Int32));
      dt.Columns.Add(new DataColumn("StringValue", System.String));
      dt.Columns.Add(new DataColumn("CurrencyValue",
 double));
 
      for (var i : int =
 0; i < 15; i++) 
      {
          dr = dt.NewRow();
 
          dr[0] = i;
          dr[1] = "Item " + i.ToString();
          dr[2] = 1.23 * Rand_Num.Next(1, 15);
 
          dt.Rows.Add(dr);
      }
 
      var dv : DataView = new DataView(dt);
      dv.Sort=SortExpression;
      return dv;
    }
 
    function Page_Load(sender, e : EventArgs) 
    {
 
       if (!IsPostBack) 
       {
 
          if (SortExpression == "")
             SortExpression = "IntegerValue";      
          ItemsGrid.DataSource = CreateDataSource();
          ItemsGrid.DataBind();
       }
 
    }
 
    function Sort_Grid(sender, e : DataGridSortCommandEventArgs)
 
    {
       SortExpression = e.SortExpression.ToString();
       ItemsGrid.DataSource = CreateDataSource();
       ItemsGrid.DataBind();
    }
 
 </script>
 
 <body>
 
    <form runat=server>
 
       <h3>DataGrid Sorting Example</h3>
 
       <asp:DataGrid id="ItemsGrid" runat="server"
            BorderColor="black"
            BorderWidth="1"
            CellPadding="3"
            AllowSorting="true"
            OnSortCommand="Sort_Grid"
            HeaderStyle-BackColor="#00aaaa"
            AutoGenerateColumns="true"/>
 
    </form>
 
 </body>
 </html>

<%@ Page Language="VB" AutoEventWireup="True"
 %>
<%@ Import Namespace="System.Data"
 %>
 
<html>
   <script runat="server">
 
      Function CreateDataSource() As ICollection
 
      
         ' Create a Random object to mix up the order of items in the
         ' sample data.
         Dim Rand_Num As Random = New
 Random()

         ' 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)))
 
         ' Populate the table with sample values.
         Dim i As Integer

         For i = 0 To 8 
        
            dr = dt.NewRow()
 
            dr(0) = i
            dr(1) = "Item " & Rand_Num.Next(1,
 15).ToString()
            dr(2) = 1.23 * Rand_Num.Next(1, 15)
 
            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
 
         
            ItemsGrid.DataSource = CreateDataSource()
            ItemsGrid.DataBind()
         
         End If

      End Sub

      Sub Sort_Grid(sender As Object,
 e As DataGridSortCommandEventArgs) 

         ' Retrieve the data source from session state.
         Dim dt As DataTable = CType(Session("Source"),
 DataTable)

         ' Create a DataView from the DataTable.
         Dim dv As DataView = New
 DataView(dt)

         ' The DataView provides an easy way to sort. Simply set the
         ' Sort property with the name of the field to sort by.
         dv.Sort = e.SortExpression

         ' Rebind the data source and specify that it should be sorted
         ' by the field specified in the SortExpression property.
         ItemsGrid.DataSource = dv
         ItemsGrid.DataBind()

      End Sub

      Sub Check_Change(sender As Object,
 e As EventArgs)
   
         ' Allow or prevent sorting depending on the user's selection.
         If AllowSortingCheckBox.Checked Then

            ItemsGrid.AllowSorting = True

         Else

            ItemsGrid.AllowSorting = False

         End If

         ' After changing the property, rebind the data to
         ' refresh the DataGrid control.

         ' Retrieve the data source from session state.
         Dim dt As DataTable = CType(Session("Source"),
 DataTable)

         ' Create a DataView from the DataTable.
         Dim dv As DataView = New
 DataView(dt)

         ' Rebind the data source.
         ItemsGrid.DataSource = dv
         ItemsGrid.DataBind()

      End Sub

   </script>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid AllowSorting Example</h3>

      Select whether to allow sorting in
 the DataGrid control.

      <br><br>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           OnSortCommand="Sort_Grid"
           AutoGenerateColumns="False"
           AllowSorting="True"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn DataField="IntegerValue"
 
                 SortExpression="IntegerValue"
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 SortExpression="StringValue" 
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue"
 
                 HeaderText="Price"
                 SortExpression="CurrencyValue"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

         </Columns> 
 
      </asp:DataGrid>

      <hr>

      <asp:CheckBox id="AllowSortingCheckBox"
           Text="Allow sorting"
           AutoPostBack="True"
           Checked="True"
           OnCheckedChanged="Check_Change"
           runat="server"/>
 
   </form>
 
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <script runat="server">
 
      ICollection CreateDataSource()
      {
      
         // Create a Random object to mix up the order of items in the
         // sample data.
         Random Rand_Num = new Random();

         // 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)));
 
         // Populate the table with sample values.
         for (int i=0; i<=8; i++) 
         {

            dr = dt.NewRow();
 
            dr[0] = i;
            dr[1] = "Item " + Rand_Num.Next(1, 15).ToString();
            dr[2] = 1.23 * Rand_Num.Next(1, 15);
 
            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)
         { 
         
            ItemsGrid.DataSource = CreateDataSource();
            ItemsGrid.DataBind();
         
         }

      }

      void Sort_Grid(Object sender, DataGridSortCommandEventArgs
 e)
      { 

         // Retrieve the data source from session state.
         DataTable dt = (DataTable)Session["Source"];

         // Create a DataView from the DataTable.
         DataView dv = new DataView(dt);

         // The DataView provides an easy way to sort. Simply set the
         // Sort property with the name of the field to sort by.
         dv.Sort = e.SortExpression;

         // Rebind the data source and specify that it should be sorted
         // by the field specified in the SortExpression property.
         ItemsGrid.DataSource = dv;
         ItemsGrid.DataBind();

      }

      void Check_Change(Object sender, EventArgs e)
      {
   
         // Allow or prevent sorting depending on the user's selection.
         if (AllowSortingCheckBox.Checked)
         {

            ItemsGrid.AllowSorting = true;

         }
         else
         {

            ItemsGrid.AllowSorting = false;

         }

         // After changing the property, rebind the data to
         // refresh the DataGrid control.

         // Retrieve the data source from session state.
         DataTable dt = (DataTable)Session["Source"];

         // Create a DataView from the DataTable.
         DataView dv = new DataView(dt);

         // Rebind the data source.
         ItemsGrid.DataSource = dv;
         ItemsGrid.DataBind();

      }

   </script>
 
<body>
 
   <form runat=server>
 
      <h3>DataGrid AllowSorting Example</h3>

      Select whether to allow sorting in the DataGrid control.

      <br><br>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           OnSortCommand="Sort_Grid"
           AutoGenerateColumns="False"
           AllowSorting="True"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>

         <Columns>

            <asp:BoundColumn DataField="IntegerValue" 
                 SortExpression="IntegerValue"
                 HeaderText="Item"/>

            <asp:BoundColumn DataField="StringValue"
                 SortExpression="StringValue" 
                 HeaderText="Description"/>

            <asp:BoundColumn DataField="CurrencyValue" 
                 HeaderText="Price"
                 SortExpression="CurrencyValue"
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="Right">
               </ItemStyle>

            </asp:BoundColumn>

         </Columns> 
 
      </asp:DataGrid>

      <hr>

      <asp:CheckBox id="AllowSortingCheckBox"
           Text="Allow sorting"
           AutoPostBack="True"
           Checked="True"
           OnCheckedChanged="Check_Change"
           runat="server"/>
 
   </form>
 
</body>
</html>

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataGrid クラス
DataGrid メンバ
System.Web.UI.WebControls 名前空間
SortCommand
LinkButton
Button クラス
TemplateColumn
HeaderTemplate

DataGrid.AllowSorting プロパティ

ヘッダークリックしてグリッド並べ替え直すことができるかどうかを示す値を取得または設定します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Dim instance As DataGrid
Dim value As Boolean

value = instance.AllowSorting

instance.AllowSorting = value
public bool AllowSorting { get;
 set; }
public:
property bool AllowSorting {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_AllowSorting ()

/** @property */
public void set_AllowSorting (boolean value)
public function get AllowSorting
 () : boolean

public function set AllowSorting
 (value : boolean)

プロパティ
列を並べ替えることができる場合trueそれ以外場合false

解説解説

現在、コントロールに対して有効にされている DataGridTableStyle が存在する場合、このプロパティは、DataGridTableStyle.AllowSorting プロパティによってオーバーライドされます

並べ替えができる場合は、列ヘッダークリックすると、その列を基準としてテーブル データ並べ替えることができます

DataColumn の式を使用して並べ替えることもできます並べ替えの式を作成する方法詳細については、Expressionトピック参照してください

System.Windows.Forms.DataGrid が DataView にバインドされている場合は、DataView クラスSort プロパティ使用してテーブルカスタム並べ替え設定できます同様にSystem.Windows.Forms.DataGrid が DataViewManager にバインドされている場合は、DataViewSettings クラスSort プロパティ設定してDataViewManager の各テーブルカスタム並べ替え設定できます

使用例使用例

AllowSorting プロパティ切り替えるコード例次に示します

Private Sub ToggleAllowSorting()

   ' Toggle the AllowSorting property.
   DataGrid1.AllowSorting = Not DataGrid1.AllowSorting
End Sub

private void ToggleAllowSorting()
{
   // Toggle the AllowSorting property.
   dataGrid1.AllowSorting = ! dataGrid1.AllowSorting;
}

private:
   void ToggleAllowSorting()
   {
      // Toggle the AllowSorting property.
      dataGrid1->AllowSorting =  !dataGrid1->AllowSorting;
   }
private void ToggleAllowSorting()
{
    // Toggle the AllowSorting property.
    dataGrid1.set_AllowSorting(!(dataGrid1.get_AllowSorting()));
} //ToggleAllowSorting
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataGrid クラス
DataGrid メンバ
System.Windows.Forms 名前空間
Expression
DataView.Sort
DataViewSetting.Sort
DataGridTableStyle
DataGridTableStyle.AllowSorting



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「DataGrid.AllowSorting」の関連用語

DataGrid.AllowSortingのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataGrid.AllowSortingのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS