C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: GridViewでランダムの番号を2個表示する


(過去ログ 139 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■81697 / inTopicNo.1)  GridViewでランダムの番号を2個表示する
  
□投稿者/ とし (9回)-(2016/10/28(Fri) 15:24:24)

分類:[.NET 全般] 

環境は以下の環境で行っています。
2003Server,IIS V6.0,Access2000,IE8
ASP.NET開発: Visual Web Developer2010

フリーアドレスの座席抽選フォームを作成しています。
GridViewに2個の番号を表示しどちらか選択してもらい座席番号を決める。

GridViewに下記のデータを表示しています。

データソース
SELECT TOP 2 SEQ
FROM [座席(フリーアドレス)]
WHERE (YYYYMMDD = ?) AND (氏名 IS NULL)
ORDER BY Rnd(SEQ)

SEQ:1〜100

GridViewのデータソースの構成(クエリビルダー)でクエリの実行を行うと
常にランダムの2個の数字を表示しますが

GridViewで表示すると
毎日抽選番号が
10.66
から始まり
10を選択すると次は
11,66
66を選択すると次は
11,67
11を選択すると次は
12,67

確かにランダムではありますが(座席表を見るとランダムではなく順番に席順が決まって行く状態)
GridViewに何か指定をすれば、データソースと同様の常にランダムの番号が表示される様になるのでしょうか?

システムは完成しましたが
ランダムの番号が表示されず困っています。
宜しくお願い致します。
引用返信 編集キー/
■81698 / inTopicNo.2)  Re[1]: GridViewでランダムの番号を2個表示する
□投稿者/ WebSurfer (1056回)-(2016/10/28(Fri) 16:26:11)
No81697 (とし さん) に返信

> GridViewのデータソースの構成(クエリビルダー)でクエリの実行を行うと
> 常にランダムの2個の数字を表示しますが

ということは、クエリ SELECT TOP 2 SEQ ... で取得できる 2 つの SEQ の値は期待
通りランダムになるが、それを GridView に表示すると違ったもの(質問に書いてあ
る決まったパターンの数字)になると言っていますか?

GridView は与えられた数字を表示するだけなので、そういうことがあるとすると、質
問者さんがクエリ SELECT TOP 2 SEQ ... で取得できた 2 つの SEQ の値とは別のもの
を GridView に与えて表示していると言うことになると思うのですが・・・

取得した SEQ の値を単純に GridView に表示するだけでなく、何か操作していません
か? そのあたりの詳細が分からないと何とも答えようがないです。

引用返信 編集キー/
■81700 / inTopicNo.3)  Re[2]: GridViewでランダムの番号を2個表示する
□投稿者/ とし (11回)-(2016/10/28(Fri) 17:11:28)
No81698 (WebSurfer さん) に返信
> ■No81697 (とし さん) に返信
>
>>GridViewのデータソースの構成(クエリビルダー)でクエリの実行を行うと
>>常にランダムの2個の数字を表示しますが
>
> ということは、クエリ SELECT TOP 2 SEQ ... で取得できる 2 つの SEQ の値は期待
> 通りランダムになるが、それを GridView に表示すると違ったもの(質問に書いてあ
> る決まったパターンの数字)になると言っていますか?
>
> GridView は与えられた数字を表示するだけなので、そういうことがあるとすると、質
> 問者さんがクエリ SELECT TOP 2 SEQ ... で取得できた 2 つの SEQ の値とは別のもの
> を GridView に与えて表示していると言うことになると思うのですが・・・
>
> 取得した SEQ の値を単純に GridView に表示するだけでなく、何か操作していません
> か? そのあたりの詳細が分からないと何とも答えようがないです。
>

WebSurfer さん
いつも有難うございます。

ウィザードニ沿って設定したので特に特別な事はやってないつもりですが・・・
ソースはこんな感じです。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="AccessDataSource3" onrowcreated="GridView1_RowCreated"
onselectedindexchanged="GridView1_SelectedIndexChanged" DataKeyNames="SEQ"
style="margin-left: 32px" EnableTheming="True"
onrowdatabound="GridView1_RowDataBound" ondatabound="GridView1_DataBound"
EnableModelValidation="False">
<Columns>
<asp:CommandField ButtonType="Button" ShowSelectButton="True" />
<asp:BoundField DataField="SEQ" HeaderText="選択抽選番号"
SortExpression="SEQ" />
</Columns>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource3" runat="server"
DataFile="D:......\座席システム.mdb"



SelectCommand="SELECT TOP 2 SEQ FROM [座席(フリーアドレス)] WHERE (YYYYMMDD = ?) AND (氏名 IS NULL) ORDER BY Rnd(SEQ)">
<SelectParameters>
<asp:ControlParameter ControlID="YYYYMMDD" Name="YYYYMMDD" PropertyName="Text"
Type="String" />
</SelectParameters>
</asp:AccessDataSource>

何か分かりましたら宜しくお願い致します。
引用返信 編集キー/
■81701 / inTopicNo.4)  Re[3]: GridViewでランダムの番号を2個表示する
□投稿者/ WebSurfer (1057回)-(2016/10/28(Fri) 18:46:27)
No81700 (とし さん) に返信

質問に書いてある情報以外にもいろいろあるようですが、そういうところが
影響しているということはないですか?

イベント(rowcreated, selectedindexchanged, rowdatabound, databound)
での操作とか、パラメータはどうやって渡しているかとか。

> GridViewで表示すると
> 毎日抽選番号が
> 10.66
> から始まり

というところがそもそもおかしい(ランダムでない)のですよね?

であれば、GridView や AccessDataSource などは一切使わないで、コンソー
ルアプリで SELECT クエリの結果をコンソールに表示してみるとかから始めて、

> GridViewのデータソースの構成(クエリビルダー)でクエリの実行を行うと
> 常にランダムの2個の数字を表示しますが

ということも今一度確認して切り分けされた方がよさそうな気がします。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -