2016-10-10 5 views
1

https://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.sqldatasource.select(v=vs.110).aspxSqlDataSourceコントロール:選択のパラメータ()

を読んだ後、私はSqlDataSourceコントロールの選択()メソッドについて少し困惑しています。例を挙げて説明するのは簡単です。のは、このテストコードを考えてみましょう:

//sql is a SqlDatasource, let's get out the question the initialization. 
sql.SelectCommand= "select * from employees where iddepartment = @iddeparment"; 
sql.SelectParameters.Add("iddepartment ", DbType.Int, "1"); 

この時点で、私は、データを取得する必要があるので、私のような何かやろう:MSDNのドキュメントによると、Select方法は1つのパラメータをrequieresしかし

IEnumerable<object> myData = sql.Select(); 

をタイプDataSourceSelectArgumentsです。これは私を混乱させます。もし私がすでにSelectParameter.Add(...)を呼び出してそれらを設定していれば、何らかの "Select parameters"を引数として渡す必要がありますか?この関数を正しく呼び出すにはどうすればよいですか?

答えて

2

DataSourceSelectArgumentsはあなたの考えではありません。あなたの場合、単にDataSourceSelectArguments.Emptyを渡すことができます。

データバインドコントロールは、データソースコントロールは、データを並べ替えたり、データの特定 サブセットを返すように、結果セットに 付加データ関連の操作を行うこと を要求するDataSourceSelectArgumentsクラスを使用します。これらのデータ関連操作は、 DataSourceCapabilities列挙によって列挙されます。次の表は、 DataSourceSelectArgumentsクラスがこれらのデータ関連の 操作をどのようにサポートしているかを示しています。

このパラメータには、適用するフィルタまたは[Order By]列に関する情報を含めることができます。たとえば、並べ替え可能なGridViewを使用する場合、列を並べ替えると、Select()メソッドが呼び出され、SortExpressionプロパティがユーザーが並べ替えるように選択した列名に設定されたDataSourceSelectArgumentsインスタンスが渡されます。 DataSourceで並べ替えやフィルタリングを行わない場合は、DataSourceSelectArguments.Emptyを渡します。

関連する問題