バッチインライン編集を行うリストビューを無効/有効にするボタン (Bearbeitung_Click) があります。これは、常に編集可能であるとは限らないためです。LayoutTemplate の DataPager を常に有効にして、編集が無効になっている場合でもユーザーがページを閲覧できるようにします。
データページャーを含むテンプレートの .aspx コードは次のとおりです。
<LayoutTemplate>
<table runat="server">
<tr runat="server">
<td runat="server">
<table ID="itemPlaceholderContainer" runat="server" border="1"
style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
<tr runat="server" style="background-color: #E0FFFF;color: #333333; font-size:smaller;">
<th runat="server">
</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
<th runat="server">
Example</th>
</tr>
<tr ID="itemPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
<tr runat="server">
<td runat="server"
style="text-align: center;background-color: #5D7B9D;font-family: Verdana, Arial, Helvetica, sans-serif;color: #FFFFFF">
<asp:DataPager ID="DataPager1" runat="server" Enabled="true">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
ShowNextPageButton="False" ShowPreviousPageButton="False" />
<asp:NumericPagerField />
<asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True"
ShowNextPageButton="False" ShowPreviousPageButton="False" />
</Fields>
</asp:DataPager>
</td>
</tr>
</table>
</LayoutTemplate>
ボタンのコードビハインドとページサイズの変更は次のとおりです。
protected void PageSize_Changed(object sender, EventArgs e)
{
DataPager pager = ListView1.FindControl("DataPager1") as DataPager;
if (string.IsNullOrEmpty(tb_page.Text) || tb_page.Text == "0")
{
label.Text = "Number required";
}
else
{
/*pager.PageSize = Convert.ToInt32(page_size_dropdown.SelectedValue);*/
pager.PageSize = Convert.ToInt32(tb_page.Text);
label.Text = "";
}
}
protected void Bearbeitung_Click(object sender, EventArgs e)
{
DataPager pager = ListView1.FindControl("DataPager1") as DataPager;
if (ListView1.Enabled == true)
{
ListView1.Enabled = false;
cmdUpdate.Enabled = false;
btn_Bearbeitung.Text = "Bearbeitung";
cmdDelete.Enabled = false;
LinqDataSource1.DataBind();
ListView1.DataBind();
}
else
{
ListView1.Enabled = true;
cmdUpdate.Enabled = true;
cmdDelete.Enabled = true;
btn_Bearbeitung.Text = "Disable Editing";
}
}
Datapager.Enabled = true; を試しました。およびこれのバリエーションですが、成功しませんでした。有効なプロパティがないようです。