LinqDataSource.OrderByParameters Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém a coleção de parâmetros usados para criar a cláusula Order By.
public:
property System::Web::UI::WebControls::ParameterCollection ^ OrderByParameters { System::Web::UI::WebControls::ParameterCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public System.Web.UI.WebControls.ParameterCollection OrderByParameters { get; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.OrderByParameters : System.Web.UI.WebControls.ParameterCollection
Public ReadOnly Property OrderByParameters As ParameterCollection
Valor da propriedade
Os parâmetros usados para criar a cláusula Order By.
- Atributos
Exemplos
O exemplo a seguir mostra um LinqDataSource controle com a AutoGenerateOrderByClause propriedade definida como true
. Um parâmetro é incluído na OrderByParameters coleção que ordena os dados com base no nome da propriedade que um usuário seleciona de um DropDownList controle.
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Category"></asp:ListItem>
<asp:ListItem Value="Price"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateOrderByClause="true"
ID="LinqDataSource1"
runat="server">
<OrderByParameters>
<asp:ControlParameter
ControlID="DropDownList1"
Type="String" />
</OrderByParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
<asp:DropDownList AutoPostBack="true" ID="DropDownList1" runat="server">
<asp:ListItem Value="Category"></asp:ListItem>
<asp:ListItem Value="Price"></asp:ListItem>
</asp:DropDownList>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
AutoGenerateOrderByClause="true"
ID="LinqDataSource1"
runat="server">
<OrderByParameters>
<asp:ControlParameter
ControlID="DropDownList1"
Type="String" />
</OrderByParameters>
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
Comentários
O LinqDataSource controle usa parâmetros na OrderByParameters coleção para criar a cláusula Order By em tempo de execução. Normalmente, você define a AutoGenerateOrderByClause propriedade para true
quando você adiciona parâmetros à OrderByParameters coleção. Quando a AutoGenerateOrderByClause propriedade é definida como true
, cada parâmetro na OrderByParameters coleção é adicionado à cláusula Order By na sequência especificada na OrderByParameters coleção. Quando a AutoGenerateOrderByClause propriedade é true
, os parâmetros não precisam ser nomeados porque são aplicados em sequência e não são correspondentes a um espaço reservado.
Se você não precisar definir um valor em tempo de execução na cláusula Order By, não precisará usar a OrderByParameters coleção. Você pode definir os campos a serem usados para ordenar os dados na OrderBy propriedade. Por exemplo, para retornar valores de uma tabela de banco de dados ordenada por LastName
, defina OrderBy como "LastName" sem parâmetros.
Você pode definir parâmetros na OrderByParameters coleção e corresponder os parâmetros aos espaços reservados na OrderBy propriedade, mas essa abordagem tem um aplicativo limitado. Quando você usa essa abordagem, os parâmetros na OrderByParameters coleção não podem representar um nome de coluna. Você pode definir um parâmetro para um valor e comparar esse valor com valores em uma propriedade. Por exemplo, você pode ordenar os dados com base em se os valores em uma propriedade são menores do que o valor de tempo de execução representado pelo parâmetro.