LinqDataSource.Selecting イベント

定義

データ取得操作の前に発生します。

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) 

イベントの種類

次の例は、 イベントのイベント ハンドラーを Selecting 示しています。 ハンドラーは、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

次の例では、ストアド プロシージャを Result 表すメソッドから返されるオブジェクトに プロパティを割り当てる方法を示します。

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();  
}  

注釈

イベントを Selecting 処理して、次のタスクを実行します。

  • データ取得用のパラメーターを変更します。

  • プログラムでクエリを生成します。

  • 並べ替えまたはページングの値を変更します。

  • カスタムの並べ替えまたはページングを実行します。

  • データ取得操作を取り消します。

このイベントの LinqDataSourceSelectEventArgs イベント ハンドラーに渡される オブジェクトには、データ取得操作のパラメーターが含まれています。 クエリを実行する前にイベント ハンドラーのパラメーターを Selecting 変更することも、新しい結果セットを作成して プロパティに Result 割り当てることもできます。

このイベントのハンドラーでカスタム並べ替えまたはページングを実装する機能は、 に LinqDataSourceバインドされているコントロールによって制限される場合があります。 たとえば、コントロールの GridView 列ヘッダーがクリックされると、コントロールによって自動並べ替えが実行され、イベント ハンドラーで確立した順序がオーバーライドされる可能性があります。

イベントのイベント ハンドラー Selecting で例外がスローされた場合は、そのイベント ハンドラーで例外を処理する必要があります。 例外は、(オブジェクトの プロパティを介して) イベントのSelectedイベント ハンドラーにExceptionLinqDataSourceStatusEventArgs渡されません。 プロパティには Exception 、イベントの後 Selecting にスローされる例外のみが含まれます。

適用対象