カテゴリー ‘ データアクセス・コントロール

【ASP.NET(C#)】ListViewのグループ化

バージョン:ASP.NET 3.5

ListViewのデータグループ化機能について。

データセット内の n要素ごとに周囲の HTML を指定したい場合は、
ListView の GroupItemCount プロパティを指定する。
例えば下記のように、「アイテム4つごとに<tr><tr/>で囲いたい」
などの場合にGroupItemCount プロパティを指定すると
実現できる。

・作りたいHTML

<table >
	<tr>
		<td>アイテム1</td>
		<td>アイテム2</td>
		<td>アイテム3</td>
		<td>アイテム4</td>
	</tr>
	<tr>
		<td>アイテム5</td>
		<td>アイテム6</td>
		<td>アイテム7</td>
		<td>アイテム8</td>
	</tr>
	<tr>
		<td>アイテム9</td>
		<td>アイテム10</td>
		<td>アイテム11</td>
		<td>アイテム12</td>
	</tr>
</table>
アイテム1 アイテム2 アイテム3 アイテム4
アイテム5 アイテム6 アイテム7 アイテム8
アイテム9 アイテム10 アイテム11 アイテム12

・ASP.NETコード

<asp:ListView ID=”ListView1″ runat=”server”  ” DataSourceID=”DataSource1″
GroupItemCount=”4″ >
	<LayoutTemplate>
		<table>
			<asp:PlaceHolder ID=”Placeholder1″ runat=”server” />
		</table>
	</LayoutTemplate>
	<GroupTemplate>
		<tr>
			<asp:PlaceHolder runat=”server” ID=”Placeholder2″ />
		</tr>
	</GroupTemplate>
	<ItemTemplate>
		<td>
			movie_id:
			<asp:Label ID=”Label1″ runat=”server”  /> <br />
			<asp:Label ID=”Label2″ runat=”server” /> <br />
		</td>
	</ItemTemplate>
</asp:ListView>

【ASP.NET(C#)】DataPager(データページャー)ページサイズ変更方法

バージョン:ASP.NET 3.5

ASP.NETの「DataPager」で ページのサイズを選んで変更できるようにする方法。
変更は、ListView の上に、ドロップダウンリストを配置して、表示件数を選ぶことが
できるようにする。
ドロップダウンリストは、AutoPostBack を true に設定し、
OnTextChangedイベントで、DataPagerのページサイズを変更する。

—————————————————————————–
ContactsDataPager.SetPageProperties(startRowIndex,maximumRows ,databind );
startRowIndex :表示される最初のレコードのインデックス。
maximumRows :1 つのデータ ページに表示する項目の最大数。
databind :プロパティの設定後にコントロールをバインドするかどうか。
—————————————————————————–

●Default.aspx

<asp:DropDownListID="page_size"runat="server"OnTextChanged="on_page_size"AutoPostBack="true">
	<asp:ListItemValue="10″>10件</asp:ListItem>
	<asp:ListItemValue="20″>20件</asp:ListItem>
	<asp:ListItemValue="30″>30件</asp:ListItem>
	<asp:ListItemValue="40″>40件</asp:ListItem>
</asp:DropDownList>

<asp:ListViewID="ListView1" runat="server"
	OnItemDataBound="ItemDataBound" DataSourceID="ObjectDataSource">
	<LayoutTemplate>
		<asp:DataPager ID="ContactsDataPager"runat="server"PageSize="5″>
			<Fields>
				<asp:NextPreviousPagerField 
					ShowFirstPageButton="True"
					ShowLastPageButton="False"
					ShowNextPageButton="False"
					ShowPreviousPageButton="True"
					RenderDisabledButtonsAsLabels="true" 
					ButtonCssClass=""/>
				<asp:NumericPagerField ButtonCount="5″/>
				<asp:NextPreviousPagerField 
					ShowFirstPageButton="False" 
					ShowLastPageButton="True"
					ShowNextPageButton="True"ShowPreviousPageButton="False"
					RenderDisabledButtonsAsLabels="true"
					ButtonCssClass=""/>
			</Fields>
		</asp:DataPager>
		<table>
			<asp:PlaceHolderID="groupPlaceholder"runat="server"/>
		</table>
	</LayoutTemplate>
	<GroupTemplate>
		<tr>
		<asp:PlaceHolderrunat="server"ID="itemPlaceholder"/>
		</tr>
	</GroupTemplate>
	<ItemTemplate>
		<td>
		ここに何か表示する
		</td>
	</ItemTemplate>
</asp:ListView>

●Default.aspx.cs

public void on_page_size(Object sender, EventArgs e)
{
	int value = int.Parse(((DropDownList)sender).SelectedValue);
	ContactsDataPager.SetPageProperties(0, value,true);
}

【ASP.NET(C#)】データアクセス・コントロールの種類

バージョン:ASP.NET 3.5

データアクセス・コントロールとは、データベースから取得したデータを便利に表示できるコントロールのこと。
以下、種類と機能について。

種類 ページング ソート HTML出力
Repeate できない できない テンプレートに書いたHTMLを表示
DataList できない できない タグが自動生成される
GridVie できる できる タグが自動生成される
ListView できる できる テンプレートに書いたHTMLを表示

デザイン(HTMLタグ)は自分で作成したいなら、
RepeateかListViewを使用すれば良いと思う。
使い分けは、ページング、ソートを行いたいページはListViewを使用する。
必要ないならRepeateが良い。Repeateは、書き方が簡単なのでわかりやすい。

return top