- PR -

SqlDataSourceのバインドタイミングについて

1
投稿者投稿内容
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2006-12-27 13:43
VisualWebDeveloper2005(VB.NET)でサイト作成を行っています。
ある表から複数行のレコードを取得して表形式に表示するプログラムを作成しています。

DataListコントロールにSqlDataSourceをバインドさせているのですが、表示する条件としてランダムに5件表示したいのですが、方法が分かりません。
SQLでどうにかなるかと、調べてみたのですが(SQL Server2003を使用)、糸口が見つけられないので、コード側でDataSourceを加工しようと思っています。
ちょっとSqlDataSourceというものを、まだキチンと理解していないかも知れませんが、
SqlDataSource内にある?DataTableをVB.NETの乱数関数で対象ROWを抽出して、新たなDataTableを作成してSqlDataSourceに戻す?ような事をすれば良いのかと思っています。
ちょっと例えは違うかもしれませんが、DataList内のラベルコントロールなどに
Text='<%#Eval("comment") %>'
をcommnetを指定のフォーマットに変換する関数を作成して以下のような事を行っています。
Text='<%#CnvText(DataBinder.Eval(Container.DataItem,"comment")) %>'
SqlDataSourceに対して行えればと思うのですが・・・

どうも説明が分かりづらいですが・・・

よろしくお願いします。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-12-27 14:04
SqlDataSourceの内部のデータに触るためのプロパティとかはなさそうですね。
一度取り出したデータからランダムに情報を抽出して返すクラスをつくって、
ObjectDataSourceでバインドするというのはどうでしょうか。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-12-27 21:14
どのようなデータなのかわからないのに、こんなことを言うのはなんだけど。
ランダムに表示されたら、イヤだと思う。
_________________
1

スキルアップ/キャリアアップ(JOB@IT)