Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Telerik RadGrid可见属性未按预期工作_C#_Asp.net_Css_Gridview_Telerik - Fatal编程技术网

C# Telerik RadGrid可见属性未按预期工作

C# Telerik RadGrid可见属性未按预期工作,c#,asp.net,css,gridview,telerik,C#,Asp.net,Css,Gridview,Telerik,我有两个图像按钮,可以根据客户希望看到的内容隐藏和显示radgrid。单击按钮时,grid.visible属性设置为true或false。问题是,当我第一次单击按钮时,页面会发回并且不起作用。然后我再单击几次,它只显示一条水平线(我假设它是网格而不是数据绑定)。我再单击几次,网格就会完美地显示和隐藏。然而,当用户离开页面,然后返回到这个页面时,我遇到了同样的问题 <div class="RegistrationHistoryGrid" > &l

我有两个图像按钮,可以根据客户希望看到的内容隐藏和显示radgrid。单击按钮时,grid.visible属性设置为true或false。问题是,当我第一次单击按钮时,页面会发回并且不起作用。然后我再单击几次,它只显示一条水平线(我假设它是网格而不是数据绑定)。我再单击几次,网格就会完美地显示和隐藏。然而,当用户离开页面,然后返回到这个页面时,我遇到了同样的问题

        <div class="RegistrationHistoryGrid" >
            <telerik:RadGrid ID="rgRegistrationHistory" Width="100%"  ShowHeader="true" AutoGenerateColumns="false" OnSelectedIndexChanged="rgRegistrationHistory_SelectedIndexChanged" AllowCustomPaging="true" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" Gridlines="None" CellSpacing="0" onneeddatasource="rgRegistrationHistory_OnNeedDataSource" >
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" />
                </ClientSettings>
                <MasterTableView Width="100%" Summary="RadGrid table" DataKeyNames="ClientID, LastName, FirstName, Gender,DateOfBirth,Address">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Period" Reorderable="false" UniqueName="Period"  DataField="Period"/>
                    <telerik:GridBoundColumn HeaderText="Plate" Reorderable="false" UniqueName="Plate"  DataField="Plate"/>
                    <telerik:GridBoundColumn HeaderText="Comment" Reorderable="false" UniqueName="Comment"  DataField="Comment"/>
                        </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="LastName" SortOrder="Ascending" />
                </SortExpressions>
            </MasterTableView>
                <PagerStyle Mode="NextPrevAndNumeric" />
                <FilterMenu EnableImageSprites="False"></FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
                </telerik:RadGrid>
        </div>
任何帮助都将不胜感激

        <div class="RegistrationHistoryGrid" >
            <telerik:RadGrid ID="rgRegistrationHistory" Width="100%"  ShowHeader="true" AutoGenerateColumns="false" OnSelectedIndexChanged="rgRegistrationHistory_SelectedIndexChanged" AllowCustomPaging="true" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" Gridlines="None" CellSpacing="0" onneeddatasource="rgRegistrationHistory_OnNeedDataSource" >
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" />
                </ClientSettings>
                <MasterTableView Width="100%" Summary="RadGrid table" DataKeyNames="ClientID, LastName, FirstName, Gender,DateOfBirth,Address">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Period" Reorderable="false" UniqueName="Period"  DataField="Period"/>
                    <telerik:GridBoundColumn HeaderText="Plate" Reorderable="false" UniqueName="Plate"  DataField="Plate"/>
                    <telerik:GridBoundColumn HeaderText="Comment" Reorderable="false" UniqueName="Comment"  DataField="Comment"/>
                        </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="LastName" SortOrder="Ascending" />
                </SortExpressions>
            </MasterTableView>
                <PagerStyle Mode="NextPrevAndNumeric" />
                <FilterMenu EnableImageSprites="False"></FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
                </telerik:RadGrid>
        </div>
.aspx

        <div class="RegistrationHistoryGrid" >
            <telerik:RadGrid ID="rgRegistrationHistory" Width="100%"  ShowHeader="true" AutoGenerateColumns="false" OnSelectedIndexChanged="rgRegistrationHistory_SelectedIndexChanged" AllowCustomPaging="true" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" Gridlines="None" CellSpacing="0" onneeddatasource="rgRegistrationHistory_OnNeedDataSource" >
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" />
                </ClientSettings>
                <MasterTableView Width="100%" Summary="RadGrid table" DataKeyNames="ClientID, LastName, FirstName, Gender,DateOfBirth,Address">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Period" Reorderable="false" UniqueName="Period"  DataField="Period"/>
                    <telerik:GridBoundColumn HeaderText="Plate" Reorderable="false" UniqueName="Plate"  DataField="Plate"/>
                    <telerik:GridBoundColumn HeaderText="Comment" Reorderable="false" UniqueName="Comment"  DataField="Comment"/>
                        </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="LastName" SortOrder="Ascending" />
                </SortExpressions>
            </MasterTableView>
                <PagerStyle Mode="NextPrevAndNumeric" />
                <FilterMenu EnableImageSprites="False"></FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
                </telerik:RadGrid>
        </div>

.cs

        <div class="RegistrationHistoryGrid" >
            <telerik:RadGrid ID="rgRegistrationHistory" Width="100%"  ShowHeader="true" AutoGenerateColumns="false" OnSelectedIndexChanged="rgRegistrationHistory_SelectedIndexChanged" AllowCustomPaging="true" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" Gridlines="None" CellSpacing="0" onneeddatasource="rgRegistrationHistory_OnNeedDataSource" >
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" />
                </ClientSettings>
                <MasterTableView Width="100%" Summary="RadGrid table" DataKeyNames="ClientID, LastName, FirstName, Gender,DateOfBirth,Address">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Period" Reorderable="false" UniqueName="Period"  DataField="Period"/>
                    <telerik:GridBoundColumn HeaderText="Plate" Reorderable="false" UniqueName="Plate"  DataField="Plate"/>
                    <telerik:GridBoundColumn HeaderText="Comment" Reorderable="false" UniqueName="Comment"  DataField="Comment"/>
                        </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="LastName" SortOrder="Ascending" />
                </SortExpressions>
            </MasterTableView>
                <PagerStyle Mode="NextPrevAndNumeric" />
                <FilterMenu EnableImageSprites="False"></FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
                </telerik:RadGrid>
        </div>
protectedvoid rgRegistrationHistory\u OnNeedDataSource(对象发送方,GridNeedDataSourceEventArgs e)
{
List fakeList=新列表();
rgRegistrationHistory.DataSource=fakeList;
}
受保护的无效imgChevronClosed_Click(对象发送者,图像单击事件参数e)
{
imgChevronOpen.Visible=true;
imgChevronClosed.Visible=false;
rgRegistrationHistory.Visible=false;
}
受保护的无效imgChevronOpen\u单击(对象发送者,图像单击事件参数e)
{
imgChevronOpen.Visible=false;
imgChevronClosed.Visible=true;
rgRegistrationHistory.Visible=true;
}

您可以尝试整合您的逻辑,改为执行以下操作:

        <div class="RegistrationHistoryGrid" >
            <telerik:RadGrid ID="rgRegistrationHistory" Width="100%"  ShowHeader="true" AutoGenerateColumns="false" OnSelectedIndexChanged="rgRegistrationHistory_SelectedIndexChanged" AllowCustomPaging="true" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" Gridlines="None" CellSpacing="0" onneeddatasource="rgRegistrationHistory_OnNeedDataSource" >
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" />
                </ClientSettings>
                <MasterTableView Width="100%" Summary="RadGrid table" DataKeyNames="ClientID, LastName, FirstName, Gender,DateOfBirth,Address">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Period" Reorderable="false" UniqueName="Period"  DataField="Period"/>
                    <telerik:GridBoundColumn HeaderText="Plate" Reorderable="false" UniqueName="Plate"  DataField="Plate"/>
                    <telerik:GridBoundColumn HeaderText="Comment" Reorderable="false" UniqueName="Comment"  DataField="Comment"/>
                        </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="LastName" SortOrder="Ascending" />
                </SortExpressions>
            </MasterTableView>
                <PagerStyle Mode="NextPrevAndNumeric" />
                <FilterMenu EnableImageSprites="False"></FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
                </telerik:RadGrid>
        </div>
标记:

        <div class="RegistrationHistoryGrid" >
            <telerik:RadGrid ID="rgRegistrationHistory" Width="100%"  ShowHeader="true" AutoGenerateColumns="false" OnSelectedIndexChanged="rgRegistrationHistory_SelectedIndexChanged" AllowCustomPaging="true" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" Gridlines="None" CellSpacing="0" onneeddatasource="rgRegistrationHistory_OnNeedDataSource" >
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" />
                </ClientSettings>
                <MasterTableView Width="100%" Summary="RadGrid table" DataKeyNames="ClientID, LastName, FirstName, Gender,DateOfBirth,Address">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Period" Reorderable="false" UniqueName="Period"  DataField="Period"/>
                    <telerik:GridBoundColumn HeaderText="Plate" Reorderable="false" UniqueName="Plate"  DataField="Plate"/>
                    <telerik:GridBoundColumn HeaderText="Comment" Reorderable="false" UniqueName="Comment"  DataField="Comment"/>
                        </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="LastName" SortOrder="Ascending" />
                </SortExpressions>
            </MasterTableView>
                <PagerStyle Mode="NextPrevAndNumeric" />
                <FilterMenu EnableImageSprites="False"></FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
                </telerik:RadGrid>
        </div>
<asp:ImageButton ID="imgToggleGrid" runat="server" ImageUrl="~/images/hide.png" OnClick="imgToggleGrid_Click" />

<asp:PlaceHolder ID="plcGrid" runat="server">
    <!-- GRID -->
</asp:PlaceHolder>

切换栅格可见性时,必须重新绑定栅格。有关此问题,请参见。

您是否尝试过将网格包装在占位符中,然后切换占位符的可见性?在面板或占位符中。看起来你已经有一个DIV包住了网格,所以你可以把它改成一个面板(无论如何都会分解成一个DIV)。这与Radgrid问题无关。逻辑不是这里的问题。很抱歉,我想用占位符来切换网格的可见性。我相信这个解决方案会更好,因为我不相信每次显示或隐藏网格时都需要访问数据库。
        <div class="RegistrationHistoryGrid" >
            <telerik:RadGrid ID="rgRegistrationHistory" Width="100%"  ShowHeader="true" AutoGenerateColumns="false" OnSelectedIndexChanged="rgRegistrationHistory_SelectedIndexChanged" AllowCustomPaging="true" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" Gridlines="None" CellSpacing="0" onneeddatasource="rgRegistrationHistory_OnNeedDataSource" >
                <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnableRowHoverStyle="true" EnablePostBackOnRowClick="true">
                    <Selecting AllowRowSelect="True" />
                </ClientSettings>
                <MasterTableView Width="100%" Summary="RadGrid table" DataKeyNames="ClientID, LastName, FirstName, Gender,DateOfBirth,Address">
                <Columns>
                    <telerik:GridBoundColumn HeaderText="Period" Reorderable="false" UniqueName="Period"  DataField="Period"/>
                    <telerik:GridBoundColumn HeaderText="Plate" Reorderable="false" UniqueName="Plate"  DataField="Plate"/>
                    <telerik:GridBoundColumn HeaderText="Comment" Reorderable="false" UniqueName="Comment"  DataField="Comment"/>
                        </Columns>
                <SortExpressions>
                    <telerik:GridSortExpression FieldName="LastName" SortOrder="Ascending" />
                </SortExpressions>
            </MasterTableView>
                <PagerStyle Mode="NextPrevAndNumeric" />
                <FilterMenu EnableImageSprites="False"></FilterMenu>
                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
                </telerik:RadGrid>
        </div>