1

Ajax Control Toolkit (Visual Studio 2012) からチェックボックスのセクションに CollapsiblePanelExtender を挿入しようとしているグリッドビューでのコーディングの課題のトラブルシューティングを行っています。私がやりたいことは、ユーザーの要求に応じてチェックボックスのセクション全体を折りたたんだり展開したりすることです。

私が直面している課題 (asp コードは以下にあります - cs コードはありません) は、コードの " < asp:Panel ID="pnlClick"..." 部分に、「パネル」の下に緑色の波線があり、 「CheckBoxField」のすべてのインスタンスの下で、次のエラーが発生します (デバッグ出力から指摘されているように):

Element 'Panel' is not a known element. This can occur if there is a compilation error in the Web site, or the web.config file is missing.

Element 'CheckBoxField' is not a known element. This can occur if there is a compilation error in the Web site, or the web.config file is missing.

また、このページのデザイン ビューに切り替えると、次のエラーが表示されます。

Error Creating Control - GridView1

System.Web.UI.WebControls.DataControlFieldCollection must have items of type 'System.Web.UI.WebControlField'.  'asp:Panel' is of type 'System.Web.UI.WebControls.Panel'.

このパズルの SQL の部分は非常にしっかりしているので、私がこれを手伝う必要はありません。私は Ajax Control Toolkit を初めて使用するので、これを機能させるために正確に何を調整する必要があるかを判断しようとしています (これが私が達成しようとしているものに対する正しい解決策でさえある場合)。私は答えを求めてGoogleに注ぎ込んでいますが、グリッドビューでこの問題を解決するのに役立つものは何もありません. 以下のコードは、過去 6 か月から 1 年以内に他の非グリッド ビュー ソリューションをまとめようとした結果です。おそらく欠けているものがありますが、これはおそらく修正が必要な単純なものであると確信しています。これが可能である場合、ここ(以下)で何が欠けていますか?

msdn 以外の優れたリファレンスを例とともに知っている人がいれば、それも大歓迎です。

Aspx コード:

<%@ Page Title="Test Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="form2.aspx.cs" Inherits="form2" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>


<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="FeaturedContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" Runat="Server">
    <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"></cc1:ToolkitScriptManager> 
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None">
        <AlternatingRowStyle BackColor="White" />
        <Columns>
            <asp:CommandField ShowEditButton="True" />
            <asp:BoundField DataField="Field 1" HeaderText="Field 1" SortExpression="Field 1" />
            <asp:BoundField DataField="Field 2" HeaderText="Field 2" SortExpression="Field 2" />
            <asp:BoundField DataField="Field 3" HeaderText="Field 3" SortExpression="Field 3" />
            <asp:BoundField DataField="Field 4" HeaderText="Field 4" SortExpression="Field 4" />
            <asp:BoundField DataField="Field 5" HeaderText="Field 5" SortExpression="Field 5" />
            <asp:BoundField DataField="Field 6" HeaderText="Field 6" SortExpression="Field 6" />
            <asp:BoundField DataField="Field 7" HeaderText="Field 7" SortExpression="Field 7" />
            <asp:BoundField DataField="Field 8" HeaderText="Field 8" SortExpression="Field 8" />
            <asp:BoundField DataField="Field 9" HeaderText="Field 9" SortExpression="Field 9" />
          <asp:Panel ID="pnlClick" runat="server" CssClass="collapsiblepanelCSS">
              <div style="background-color:blue;height:30px; vertical-align: middle">
                  <div style="float: left;color:white;padding: 5px 5px 0 0 ">
                      Server List Collapsable Panel
                  </div>
                  <div style="float: right; color: white; padding: 5px 5px 0 0" id="divshow">
                      <asp:Label ID="lblMessage" runat="server" Text="Label" />
                      </div>
                  <div style="clear:both">
                </div>
                    </div>
                  </asp:Panel>
            <asp:Panel ID="pnlCollapsable" runat="server" Height="0" CssClass="collapsiblepanelCSS">
            <asp:CheckBoxField DataField="Check Box 1" HeaderText="Check Box 1" SortExpression="Check Box 1" />
            <asp:CheckBoxField DataField="Check Box 2" HeaderText="Check Box 2" SortExpression="Check Box 2" />
            <asp:CheckBoxField DataField="Check Box 3" HeaderText="Check Box 3" SortExpression="Check Box 3" />
            <asp:CheckBoxField DataField="Check Box 4" HeaderText="Check Box 4" SortExpression="Check Box 4" />
            <asp:CheckBoxField DataField="Check Box 5" HeaderText="Check Box 5" SortExpression="Check Box 5" />
            <asp:CheckBoxField DataField="Check Box 6" HeaderText="Check Box 6" SortExpression="Check Box 6" />
            <asp:CheckBoxField DataField="Check Box 7" HeaderText="Check Box 7" SortExpression="Check Box 7" />
            <asp:CheckBoxField DataField="Check Box 8" HeaderText="Check Box 8" SortExpression="Check Box 8" />
            <asp:CheckBoxField DataField="Check Box 9" HeaderText="Check Box 9" SortExpression="Check Box 9" />
            <asp:CheckBoxField DataField="Check Box 10" HeaderText="Check Box 10" SortExpression="Check Box 10" />
            <asp:CheckBoxField DataField="Check Box 11" HeaderText="Check Box 11" SortExpression="Check Box 11" />
            <asp:CheckBoxField DataField="Check Box 12" HeaderText="Check Box 12" SortExpression="Check Box 12" />
              </asp:Panel>
            <CC1:CollapsiblePanelExtender ID="CollapsiblePanelExtender1" Collapsed="true" ExpandControlID="pnlClick" TextLabelID="lblMessage" CollapsedText="Click To Show" ExpandedText="Click To Hide" ImageControlID="imgArrows" ExpandDirection="Vertical" TargetControlID="pnlCollapsable" ScrollContents="false" runat="server"></CC1:CollapsiblePanelExtender>

            <asp:BoundField DataField="Field 10" HeaderText="Field 10" SortExpression="Field 10" />
            <asp:BoundField DataField="Field 11" HeaderText="Field 11" SortExpression="Field 11" />
            <asp:BoundField DataField="Field 12" HeaderText="Field 12" SortExpression="Field 12" />
            <asp:CommandField ShowEditButton="True" />
        </Columns>
        <EditRowStyle BackColor="#2461BF" />
        <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#EFF3FB" />
        <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
        <SortedAscendingCellStyle BackColor="#F5F7FB" />
        <SortedAscendingHeaderStyle BackColor="#6D95E1" />
        <SortedDescendingCellStyle BackColor="#E9EBEF" />
        <SortedDescendingHeaderStyle BackColor="#4870BE" />
    </asp:GridView>

    <sql connection strings, insert/update SQL code, update parameters, and closing ASP/HTML tags>
4

1 に答える 1

2

Columns コレクションの直接の子であるすべてのものは、DataControlFieldタイプ コントロール (CheckBoxField、ButtonField など) である必要があります。

したがって。Panelそのすべてを の中に入れる必要があり<Templatefield>ます。これにより、カスタム フィールドを作成できます。

そして、これらのすべての CheckBoxFields を通常のチェックボックスに変換し、それらの CheckBoxes を必要なデータ フィールドにバインドする必要があります。

<asp:TemplateField>
    <asp:Panel ID="pnlClick" runat="server" CssClass="collapsiblepanelCSS">
        <div style="background-color:blue;height:30px; vertical-align: middle">
            <div style="float: left;color:white;padding: 5px 5px 0 0 ">
                Server List Collapsable Panel
            </div>
            <div style="float: right; color: white; padding: 5px 5px 0 0" id="divshow">
                <asp:Label ID="lblMessage" runat="server" Text="Label" />
             </div>
             <div style="clear:both">
             </div>
         </div>
    </asp:Panel>
    <asp:Panel ID="pnlCollapsable" runat="server" Height="0" CssClass="collapsiblepanelCSS">
        <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%=Eval("Check Box 1") %>' Text="Check Box 1" />
        <asp:CheckBox ID="CheckBox2" runat="server" Checked='<%=Eval("Check Box 2") %>' Text="Check Box 2" />
        <asp:CheckBox ID="CheckBox3" runat="server" Checked='<%=Eval("Check Box 3") %>' Text="Check Box 3" />
        <asp:CheckBox ID="CheckBox4" runat="server" Checked='<%=Eval("Check Box 4") %>' Text="Check Box 4" />
        <asp:CheckBox ID="CheckBox5" runat="server" Checked='<%=Eval("Check Box 5") %>' Text="Check Box 5" />
        <asp:CheckBox ID="CheckBox6" runat="server" Checked='<%=Eval("Check Box 6") %>' Text="Check Box 6" />
        <asp:CheckBox ID="CheckBox7" runat="server" Checked='<%=Eval("Check Box 7") %>' Text="Check Box 7" />
        <asp:CheckBox ID="CheckBox8" runat="server" Checked='<%=Eval("Check Box 8") %>' Text="Check Box 8" />
        <asp:CheckBox ID="CheckBox9" runat="server" Checked='<%=Eval("Check Box 9") %>' Text="Check Box 9" />
        <asp:CheckBox ID="CheckBox10" runat="server" Checked='<%=Eval("Check Box 10") %>' Text="Check Box 10" />
        <asp:CheckBox ID="CheckBox11" runat="server" Checked='<%=Eval("Check Box 11") %>' Text="Check Box 11" />
        <asp:CheckBox ID="CheckBox12" runat="server" Checked='<%=Eval("Check Box 12") %>' Text="Check Box 12" />
    </asp:Panel>
    <CC1:CollapsiblePanelExtender ID="CollapsiblePanelExtender1" Collapsed="true" 
        ExpandControlID="pnlClick" TextLabelID="lblMessage" CollapsedText="Click To Show" 
        ExpandedText="Click To Hide" ImageControlID="imgArrows" ExpandDirection="Vertical" 
        TargetControlID="pnlCollapsable" ScrollContents="false" runat="server">
    </CC1:CollapsiblePanelExtender>
</asp:Templatefield>
于 2013-07-10T20:26:02.293 に答える