LinqDataSource.Selecting Evento
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Ocorre antes de uma operação de recuperação de dados.
public:
event EventHandler<System::Web::UI::WebControls::LinqDataSourceSelectEventArgs ^> ^ Selecting;
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceSelectEventArgs> Selecting;
member this.Selecting : EventHandler<System.Web.UI.WebControls.LinqDataSourceSelectEventArgs>
Public Custom Event Selecting As EventHandler(Of LinqDataSourceSelectEventArgs)
Tipo de Evento
Exemplos
O exemplo seguinte mostra um gestor de eventos para o Selecting evento. O handler cria uma consulta que recupera valores de um array de valores de cadeia na página Web.
public partial class Default3 : System.Web.UI.Page
{
string[] citiesArray =
{
"Atlanta",
"Charlotte",
"Denver",
"New York",
"San Francisco"
};
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LinqDataSource_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var cities = from city in citiesArray
where city.CompareTo("B") > 0
select city;
e.Result = cities;
// Or we could set e.Result = citiesArray to return all rows.
}
}
Partial Class Default3
Inherits System.Web.UI.Page
Dim citiesArray() As String = _
{ _
"Atlanta", _
"Charlotte", _
"Denver", _
"New York", _
"San Francisco" _
}
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Protected Sub LinqDataSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceSelectEventArgs) Handles LinqDataSource1.Selecting
Dim cities = From city In citiesArray _
Where city > "B" _
Select city
e.Result = cities
' Or we could set e.Result = citiesArray to return all rows.
End Sub
End Class
O exemplo seguinte mostra como atribuir a Result propriedade ao objeto que é devolvida de um método que representa um procedimento armazenado.
Protected Sub LinqDataSource_Selecting(ByVal sender As Object, _
ByVal e As LinqDataSourceSelectEventArgs)
Dim exampleContext As ExampleDataContext = New ExampleDataContext()
e.Result = exampleContext.GetRegisteredCustomers()
End Sub
protected void LinqDataSource_Selecting(object sender,
LinqDataSourceSelectEventArgs e)
{
ExampleDataContext exampleContext = new ExampleDataContext();
e.Result = exampleContext.GetRegisteredCustomers();
}
Observações
Tratar do Selecting evento para realizar as seguintes tarefas:
Modificar parâmetros para a recuperação de dados.
Gera a consulta programaticamente.
Modificar os valores para ordenação ou paginação.
Realize ordenação personalizada ou paginação.
Cancele a operação de recuperação de dados.
O LinqDataSourceSelectEventArgs objeto que é passado aos gestores de eventos para este evento contém os parâmetros para a operação de recuperação de dados. Pode modificar os parâmetros no Selecting gestor de eventos antes da execução da consulta, ou pode criar um novo conjunto de resultados e atribuí-lo à Result propriedade.
A sua capacidade de implementar ordenação personalizada ou paginação em handlers para este evento pode ser limitada pelo controlo que está ligado ao LinqDataSource. Por exemplo, quando o cabeçalho da coluna de um GridView controlo é clicado, o controlo executa uma ordenação automática que pode sobrepor qualquer ordem estabelecida no gestor de eventos.
Se uma exceção for lançada num handler de eventos para o Selecting evento, deve tratar da exceção nesse handler. A exceção não será passada a um gestor de eventos para o Selected evento (através da Exception propriedade do LinqDataSourceStatusEventArgs objeto). A Exception propriedade contém apenas as exceções que são lançadas após o Selecting evento.