共用方式為


ObjectDataSource.SortParameterName 屬性

定義

取得或設定商務物件的名稱,SelectMethod 參數使用該名稱指定資料來源排序支援的排序運算式。

public:
 property System::String ^ SortParameterName { System::String ^ get(); void set(System::String ^ value); };
public string SortParameterName { get; set; }
member this.SortParameterName : string with get, set
Public Property SortParameterName As String

屬性值

String

方法參數的名稱,用於指出要用於排序資料的參數。 預設為空字串。

範例

本節包含兩個程式碼範例。 第一個程式碼範例示範如何實作支援排序的類型。 第二個程式碼範例示範如何實作排序運算式。

下列程式碼範例示範如何實作支援排序的類型。 類別的 SortingData 接受 SelectMethod 參數 。 sortExpression 傳遞給 SelectMethod 的字串會用於 SortSelectMethod 傳回之 DataView 物件的 屬性。

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Samples.AspNet.CS
{
    public class SortingData
    {
        public SortingData()
        {
        }

        private static DataTable table;

        private DataTable CreateData()
        {
            table = new DataTable();
            table.Columns.Add("Name", typeof(string));
            table.Columns.Add("Number", typeof(int));
            table.Rows.Add(new object[] { "one", 1 });
            table.Rows.Add(new object[] { "two", 2 });
            table.Rows.Add(new object[] { "three", 3 });
            table.Rows.Add(new object[] { "four", 4 });
            return table;
        }

        public DataView SelectMethod(string sortExpression)
        {
            table ??= CreateData();

            DataView dv = new DataView(table);
            dv.Sort = sortExpression;
            return dv;
        }
    }
}
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls

Namespace Samples.AspNet.VB
    Public Class SortingData
        Public Sub New()

        End Sub

        Private Shared table As DataTable

        Private Function CreateData() As DataTable
            table = New DataTable()
            table.Columns.Add("Name", GetType(String))
            table.Columns.Add("Number", GetType(Integer))
            table.Rows.Add(New Object() {"one", 1})
            table.Rows.Add(New Object() {"two", 2})
            table.Rows.Add(New Object() {"three", 3})
            table.Rows.Add(New Object() {"four", 4})
            Return table
        End Function

        Public Function SelectMethod(ByVal sortExpression As String) As DataView
            If table Is Nothing Then
                table = CreateData()
            End If

            Dim dv As New DataView(table)
            dv.Sort = sortExpression
            Return dv
        End Function


    End Class
End Namespace

下列程式碼範例示範如何實作排序運算式。 網頁中的程式碼會建立 控制項的 ObjectDataSource 實例。 屬性 TypeName 設定為 SortingData ,而 SortParameterName 屬性設定為 sortExpression 。 控制項 AllowSortingGridView 屬性設定為 true 。 當使用者按一下 [排序 ] 按鈕時,功能變數名稱 NameNumber 會在排序參數中傳遞至 SelectMethod

<%--<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
--%><%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" 
            runat="server" 
            DataSourceID="ObjectDataSource1"
            AllowSorting="True">
        </asp:GridView>
        <asp:ObjectDataSource 
            ID="ObjectDataSource1" 
            runat="server" 
            SelectMethod="SelectMethod" 
            TypeName="Samples.AspNet.CS.SortingData" 
            SortParameterName="sortExpression">
        </asp:ObjectDataSource>
    </div>
    </form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" 
            runat="server" 
            DataSourceID="ObjectDataSource1"
            AllowSorting="True">
        </asp:GridView>
        <asp:ObjectDataSource 
            ID="ObjectDataSource1" 
            runat="server" 
            SelectMethod="SelectMethod" 
            TypeName="Samples.AspNet.VB.SortingData" 
            SortParameterName="sortExpression">
        </asp:ObjectDataSource>
    </div>
    </form>
</body>
</html>

備註

屬性 SortParameterName 是用來支援資料來源排序。 SortExpression在 物件上 DataSourceSelectArguments 設定屬性並傳遞至 Select 方法時, SortParameterName 值會根據資料排序來識別商務物件方法的參數名稱 SelectMethod

ObjectDataSource如果 與資料繫結控制項相關聯,傳遞至此參數的值會採用逗號分隔域值的形式,後面接著 "ASC""DESC" 。 例如,的 Name 遞增排序值會是 "Name ASC"

屬性 SortParameterName 會委派給 SortParameterNameObjectDataSource 控制項相關聯之 ObjectDataSourceView 物件的 屬性。

適用於

另請參閱