2011-10-19 5 views
1

シナリオ:Page1.aspxでは、ユーザーは郵便番号&を送信し、入力します。私はその後、コントロールをPage2.aspxにzipcode & Cityで渡します。SQLテーブルから複数のレコードを表示するASPXページ(DetailsViewのアプローチ)

ここでは、ページ2では、郵便番号&都市に一致するテーブルからクエリを実行します。もし見つかれば、1からnのレコードが得られます。

私は以下の方法でレコードを表示する必要があります。


顧客名:Customer1

お客様の電話番号:201201201

カスタマー市:NewCity


顧客名:Customer2

お客様の電話番号:303013010

カスタマー市:OldCity


顧客名:Customer3

お客様の電話番号:45646466

カスタマー市:CurrentCity


各レコードは、上記の最初の列として持つ2つの列でありますヘッダーと2番目の値。私は8人の顧客(私は3人の顧客を示している)をページに表示してからページ番号を付けたいと思います。次のページをクリックすると、次の8レコードのセットが表示されます。

最高のコントロールを提案してください。私はDetailsViewについて考えましたが、Detailsviewを使って1つのページに最大8回の出現を表示できるかどうかわかりません。

他の選択肢をご提案ください。

答えて

2

これはリピータコントロールを使用して結果を表示する方法の例である....

ASP.NETリピータはAlternatingItemTemplate、SeparatorTemplate、HeaderTemplateとFooterTemplatesならびにItemTemplateにと共に使用しました。分離コードファイルで

<asp:Repeater ID="NewsListRepeater" runat="server"> 

<HeaderTemplate>Funky Title<br /><br /></HeaderTemplate> 

    <ItemTemplate> 
    <%# DataBinder.Eval(Container.DataItem, "SpecialNumber") %><br /> 
    <%# DataBinder.Eval(Container.DataItem, "SpecialLetters") %><br /> 
    </ItemTemplate> 

    <SeparatorTemplate> 
    ------<br /> 
    </SeparatorTemplate> 

<AlternatingItemTemplate> 
    <i><%# DataBinder.Eval(Container.DataItem, "SpecialNumber") %></i><br /> 
    <i><%# DataBinder.Eval(Container.DataItem, "SpecialLetters") %></i><br /> 
    </AlternatingItemTemplate> 

    <FooterTemplate><br />End of the funky stuff</FooterTemplate> 

、次のコードは、データテーブルを作成し、私たちはその後、リピータに結合する、単なるデモンストレーション用のDataTableに入れるためにいくつかの単純なデータを作成するために使用されます。現実の世界では、Repeaterをデータベース呼び出しの結果にバインドするか、おそらくXMLファイルにバインドします。

protected void Page_Load(object sender, EventArgs e) 
{ 
    // create a datatable 
    DataTable newsDataTable = new DataTable(); 

    // add some columns to our datatable 
    newsDataTable.Columns.Add("SpecialNumber"); 
    newsDataTable.Columns.Add("SpecialLetters"); 

    // create some rows in our data 
    string _letters = "ABCDE"; 
    for (int i = 1; i <= 5; i++) 
    { 
    DataRow newsDataRow = newsDataTable.NewRow(); 
    newsDataRow["SpecialNumber"] = i; 
    newsDataRow["SpecialLetters"] = _letters.Substring(5 -i); 
    newsDataTable.Rows.Add(newsDataRow); 
    } 

    // bind our datatable to our repeater 
    NewsListRepeater.DataSource = newsDataTable; 
    NewsListRepeater.DataBind(); 
} 

とアウトプットは、このようなものです....私はそれを願っています

Funky Title 

1 
E 
------ 
2 
DE 
------ 
3 
CDE 
------ 
4 
BCDE 
------ 
5 
ABCDE 

End of the funky stuff 

あなたは

1

DataListまたはDataRepeaterのように、テンプレート化されたデータバインドされたコントロールを使用できます。

これをページに追加し、右クリックしてアイテムテンプレートの編集コマンドを選択します。次に、ラベルのような必要なコントロールをすべてケースに追加することができます。

+0

....助け共有するのが良いですどんな例がありますか?私もチェックします。 – Anirudh

+1

これまでGoogleやMSDNについて聞いたことがありますか? :-) –

関連する問題