Скрыть кнопку во всплывающей форме, если значение в одном из dataItem равно «Publi sh» ASP.NET - PullRequest
0 голосов
/ 13 июля 2020

У меня есть этот код в .aspx

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">
    </telerik:RadAjaxLoadingPanel>
        <div class="sc-list">
            <div class="container-narrow">
                <div class="content-panel">
                    <telerik:RadAjaxPanel runat="server" LoadingPanelID="RadAjaxLoadingPanel1">
                        <telerik:radgrid rendermode="LightWeight"
                            id="RGrid"
                            runat="server"
                            cssclass="RadGrid RadGrid_Default"
                            gridlines="None"
                            allowpaging="true"
                            OnNeedDataSource="RGrid_NeedDataSource"
                            OnUpdateCommand="RGrid_UpdateCommand"
                            OnItemDataBound="RGrid_ItemDataBound">
                            <GroupingSettings CaseSensitive="false"></GroupingSettings>
                            <PagerStyle AlwaysVisible="true" />
                            <MasterTableView DataKeyNames="Id "
                                AutoGenerateColumns="false"
                                EditMode="PopUp">                                        
                                <Columns>
                                    <telerik:GridBoundColumn UniqueName="Id" DataField="Id" HeaderText="ID" Display="false" ReadOnly="true" ForceExtractValue="Always" ConvertEmptyStringToNull="true" />
                                    <telerik:GridBoundColumn DataField="Date" HeaderText="Date" DataFormatString="{0:F}" HtmlEncode="false">
                                    </telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="Name" HeaderText="Name">
                                    </telerik:GridBoundColumn>
                                    <telerik:GridBoundColumn DataField="Status" HeaderText="Status" UniqueName="Status">
                                    </telerik:GridBoundColumn>
                                    <telerik:GridEditCommandColumn UniqueName="PreviewCommandColumn" HeaderText="Action" ButtonType="LinkButton"></telerik:GridEditCommandColumn>
                                </Columns>
                                <EditFormSettings EditFormType="Template">
                                    <PopUpSettings Width="800px" Modal="true" />
                                    <FormTemplate>                                                
                                        <div class="filter">
                                            <fieldset>
                                                <legend>Preview</legend>
                                                <asp:HiddenField id="Id" value='<%# Bind("Id") %>' runat="server" />
                                                <div class="width50">
                                                    <div class="form-row">
                                                        <label>Listing Date:</label>
                                                        <asp:TextBox ID="Date" runat="server" Text='<%# Bind("Date") %>' ReadOnly="true" TabIndex="3">
                                                        </asp:TextBox>
                                                    </div>
                                                    <div class="form-row">
                                                        <label>Former Name:</label>
                                                        <asp:TextBox ID="Name" runat="server" Text='<%# Bind("Name") %>' ReadOnly="true" TabIndex="2">
                                                        </asp:TextBox>
                                                    </div>
                                                <div class="width50">
                                                    <div class="form-row">
                                                       <asp:Button ID="btnApprove" Text="Approve" runat="server" CommandName="Update" CommandArgument="Approve"></asp:Button>&nbsp;
                                                       <asp:Button ID="btnReject" Text="Reject" runat="server" CommandName="Update" CommandArgument="Reject"></asp:Button>
                                                    </div>  
                                               </div>                                             
                                            </div>    
                                        </div>    
                                   </FormTemplate>
                               </EditFormSettings>
                            </MasterTableView>
                            <ClientSettings EnableRowHoverStyle="true">
                                <Selecting AllowRowSelect="true" />
                            </ClientSettings>
                        </telerik:radgrid>
                    </telerik:RadAjaxPanel>
                    </div>
                </div>
        </div>
    </div>
</form>

Я хочу скрыть btnApprove и btnReject, когда значение «Status» равно «Publi sh». Показывать, когда статус Черновик и Ожидание И я попробовал это в .aspx.cs в ItemDataBound, но он не работает. Кнопка все еще отображается.

if (e.Item is GridEditFormItem && e.Item.IsInEditMode)
{
    var editableItem = (GridEditFormItem)e.Item;

    var btnApprove = editableItem["btnApprove"].Controls[0];
    btnApprove.Visible = false;
    var btnReject = editableItem["btnReject"].Controls[0];
    btnReject.Visible = false;


    if (dataItem["Status"].Text.Equals("Publish"))
    {
        btnApprove.Visible = true;
        btnReject.Visible = true;
    }
}

Как мне сделать, чтобы скрыть эту кнопку? Является ли это возможным? Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...