Поле ASPxRadioButton в столбцах GridView с флажком заголовка, чтобы выбрать все, не выбрать все - PullRequest
0 голосов
/ 10 марта 2020

Я обновил свой элемент управления Dev Express с 13.1 до 19.1, где этот существующий рабочий код нарушен. Это может быть небольшая проблема со свойством, так как группируются все переключатели для подтверждения и отклонения параметров.

Я пытался полдня найти аналогичное использование элементов управления, но не нашел ничего похожего или какого-либо материала, связанного с обновлением элемента управления. Буду признателен за любую помощь при обновлении связанных параметров перерыва или управления свойствами, если я что-то не так делаю.

 function ApproveAllRadio(s,colindex) {
            try
            {           
                //consumer passes colindex=4
                var denyColumnIndex=5;
                var btnName = "radioButton_ownerpage";
                var controls = ASPxClientControl.GetControlCollection();
                if(s.GetChecked()){                    
                        chkDenyAll.SetChecked(false);                                
                    for (var i = 0; i < <%=rowcounts%>; i++) {
                        var radioButton = controls.GetByName(btnName+"_" +i +"_"+colindex);
                        if(radioButton!=null)
                        {
                            try{
                                radioButton.SetChecked(true);
                            }catch(ex){}
                        }
                        var radioButton1 = controls.GetByName(btnName+"_"+i+"_"+denyColumnIndex);
                        if(radioButton1!=null)
                        {
                            try{
                                radioButton1.SetChecked(false);                 
                            }catch(ex){}
                        }
                    }
                }
                else {                                       
                    for (var i = 0; i < <%=rowcounts%>; i++) {
                        var radioButton = controls.GetByName(btnName+"_"+i+"_"+colindex);
                        if(radioButton!=null)
                        {
                            try{
                                radioButton.SetChecked(false);}
                            catch(ex){}
                        }
                    }
                }
            }catch(ex){}            
            finally{        
                chkCallback.PerformCallback(/*j*/ colindex + ";" + s.GetChecked());
            }
<dx:GridViewDataTextColumn Caption="Approve" Name="approve" Width="100" VisibleIndex="5">
                                <CellStyle HorizontalAlign="Center" />
                                <HeaderTemplate>
                                    <div onmousedown="return ASPxClientUtils.PreventEventAndBubble(event);">
                                        <dx:ASPxCheckBox ID="chkApproveAll" Text="Approve All" ClientInstanceName="chkApproveAll"
                                             ClientSideEvents-CheckedChanged="function(s, e) { ApproveAllRadio(s,4); }"                                             
                                            OnInit="chkApproveAll_Init"
                                            runat="server"  Font-Names="Verdana" Font-Size="10px" />
                                    </div>
                                </HeaderTemplate>
                                <DataItemTemplate>
                                    <dx:ASPxRadioButton ID="rdbApprove" OnInit="radioButton_Init" runat="server" />
                                </DataItemTemplate>
                            </dx:GridViewDataTextColumn>
                            <dx:GridViewDataTextColumn Caption="Deny" Name="deny"  Width="100px"  VisibleIndex="6">
                                <CellStyle HorizontalAlign="Center" />
                                <HeaderTemplate>
                                    <div onmousedown="return ASPxClientUtils.PreventEventAndBubble(event);">
                                        <dx:ASPxCheckBox ID="chkDenyAll" Text="Deny All"
                                             ClientInstanceName="chkDenyAll"  ClientSideEvents-CheckedChanged="function(s, e) {DenyAllRadio(s,5); }" 
                                            OnInit="chkDenyAll_Init"
                                            runat="server"   
                                            Font-Names="Verdana" Font-Size="10px"/>
                                    </div>
                                </HeaderTemplate>
                                <DataItemTemplate>
                                    <dx:ASPxRadioButton  ID="rdbDeny" OnInit="radioButton_Init" runat="server" Font-Names="Verdana" Font-Size="10px"/>
                                </DataItemTemplate>
                            </dx:GridViewDataTextColumn>
...