Skip to main content

devexpress wpf gridcontrol disable context menu


If you want to disable any context menu item in devexpress grid like this.



In XAML


  <dxg:GridControl x:Name="grdProfile"  
                    Width="1070"  
                    Height="400"  
                    HorizontalAlignment="Left"  
                    VerticalAlignment="Top"  
                    AutoGenerateColumns="None"  
                    ItemsSource="{Binding CusHisViewRefillHistoryList}"  
                    SelectedItem="{Binding SelectedCusHisViewRefillHistory}">  
             <dxg:GridControl.Columns>  
               <dxg:GridColumn Width="100"  
                       Binding="{Binding RxNo}"  
                       Header="Rx #" />  
               <dxg:GridColumn Width="70"  
                       Binding="{Binding PhInitials}"  
                       Header="Ph. Initials" />  
               <dxg:GridColumn Width="75"  
                       Binding="{Binding DispDate}"  
                       Header="Disp. Date">  
                 <dxg:GridColumn.EditSettings>  
                   <dxe:TextEditSettings DisplayFormat="MM/dd/yyyy" />  
                 </dxg:GridColumn.EditSettings>  
               </dxg:GridColumn>  
               <dxg:GridColumn Width="60"  
                       Binding="{Binding RefillNo}"  
                       Header="Ref. #" />  
               <dxg:GridColumn Width="60"  
                       Binding="{Binding RefillAuth}"  
                       Header="Ref Auth" />  
               <dxg:GridColumn Width="80"  
                       Binding="{Binding PlanName}"  
                       Header="Plan Name" />  
               <dxg:GridColumn Width="200"  
                       Binding="{Binding DispensedDrug}"  
                       Header="Dispensed Drug" />  
               <dxg:GridColumn Width="70"  
                       Binding="{Binding DispensedQuantity}"  
                       Header="Disp. Qty">  
                 <dxg:GridColumn.EditSettings>  
                   <dxe:TextEditSettings Mask="\d{1,10}\.\d{1,2}?"  
                              MaskType="RegEx"  
                              MaskUseAsDisplayFormat="True" />  
                 </dxg:GridColumn.EditSettings>  
               </dxg:GridColumn>  
               </dxg:GridControl.Columns>  
             <dxg:GridControl.View>  
               <dxg:TableView AlternateRowBackground="{StaticResource AlternateRowColour}" AlternationCount="2">  
                 <dxg:TableView.RowCellMenuCustomizations>  
                   <dxb:BarButtonItem Name="contexMenuShowAll1"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.ShowAllCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Show All" />  
                   <dxb:BarButtonItem Name="contexMenuShowSelectedDrugOnly"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.SelectedDrugCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Show Selected Drug Only" />  
                   <dxb:BarButtonItem Name="contexMenuShowSelectedRxOnly"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.SelectedForRefillCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Show Selected Rx Only" />  
                   <dxb:BarItemLinkSeparator />  
                   <dxb:BarButtonItem Name="contexMenuBillOtherInsurance"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.BillOtherInsurance,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Bill Other Insurance" />  
                   <dxb:BarButtonItem Name="contexMenuEditRx"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.EditRxCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Edit Rx" />  
                   <dxb:BarButtonItem Name="contexMenuReverse"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.RxReversalCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Reverse" />  
                   <dxb:BarButtonItem Name="contexMenuPrintLabel"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.PrintLabelCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Print Label" />  
                   <dxb:BarButtonItem Name="contexMenuPickupInfo"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.PickupInfoCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Pickup Info" />  
                   <dxb:BarItemLinkSeparator />  
                   <dxb:BarButtonItem Name="contexMenuChangeCashtoInsurance"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.ChangeCashToInsuranceCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Change Cash to Insurance" />  
                   <dxb:BarButtonItem Name="contexMenuChangeInsurancetoCash"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.ChangeInsuranceToCashCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Change Insurance to Cash" />  
                   <dxb:BarButtonItem Name="contexMenuTransmitPendingClaim"  
                             Command="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.TransmitPendingClaimCommand,  
                                      RelativeSource={RelativeSource Self}}"  
                             Content="Transmit Pending Claim"  
                             IsEnabled="{Binding Path=(dxb:GridPopupMenuBase.GridMenuInfo).View.DataContext.SelectedCusHisViewRefillHistory.IsPendingClaimsActive,  
                                       RelativeSource={RelativeSource Self},  
                                       Mode=TwoWay,  
                                       UpdateSourceTrigger=PropertyChanged}" />  
                 </dxg:TableView.RowCellMenuCustomizations>  
               </dxg:TableView>  
             </dxg:GridControl.View>  
           </dxg:GridControl>  


In VM:


 private CusHisViewRefillHistory _selectedCusHisViewRefillHistory;  
 public CusHisViewRefillHistory SelectedCusHisViewRefillHistory  
     {  
       get { return _selectedCusHisViewRefillHistory; }  
       set  
       {  
         _selectedCusHisViewRefillHistory = value;  
         RaisePropertyChanged("SelectedCusHisViewRefillHistory");  
         SelectDeSelectRxHistory();  
       }  
     }  
  private void SelectDeSelectRxHistory()  
     {  
       if (SelectedCusHisViewRefillHistory != null)  
       {  
         if (SelectedCusHisViewRefillHistory.paytypeid_FK=="P")  
         {  
           SelectedCusHisViewRefillHistory.IsPendingClaimsActive = false;  
         }  
         else  
         {  
           SelectedCusHisViewRefillHistory.IsPendingClaimsActive = true;  
         }  
       }  
     }            


Comments

Popular posts from this blog

C# run powershell script as administrator

Recently I was fetching a problem that I need to run a PowerShell script that will change TFS user Display name and SID. I was trying to run that script from C# that was not working due to TFS security update and TLS certificate. Using this code block I resolve the Issue. var newProcessInfo = new System.Diagnostics.ProcessStartInfo(); newProcessInfo.FileName = @"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe"; newProcessInfo.Verb = "runas"; // Define Run as administrator newProcessInfo.Arguments = script; //Define your powershell script newProcessInfo.UseShellExecute = false; newProcessInfo.RedirectStandardOutput = true; // This will enable to read Powershell run output newProcessInfo.RedirectStandardError = true; Process proces = System.Diagnostics.Process.Start(newProcessInfo); proces.WaitForExit(); // I want to read the output string from powershell window StringBuilder output = new StringBuilder(); output.Append("Started"); while (!proces.St

ASP.NET MVC razor SAP Crystal report

Crete a new project: Add a aspx Master Page Create a new folder Reports and 2 sub folder crystal & crystalviewer Now add a web form page in crystalviewer  folder. Add the master page namespace in your web form page. MasterPageFile ="~/Views/Shared/ReportSite.Master" Replace your web form by this code < asp : Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="server">      </ asp : Content > Now go to design mode of your web form drag & drop the crystal report viewer in your web form. After that your page will be look look like this. Replace the code: < CR : CrystalReportViewer ID ="EmployeeList" runat ="server"   HasCrystalLogo ="False"     AutoDataBind ="True"   Height ="50px"   EnableParameterPrompt ="false" EnableDatabaseLogonPrompt

mvc razor textboxfor change event change another textboxfor value

Based on value of Weight, Rate , CNF & AWB it will change the value of Freight , TTLCNF anfd TTLFright . Freight= Weight*Rate; TTLCNF  = Weight*CNF; TTLFright=  Freight+ TTLCNF  + AWB; @Html.TextBoxFor(model => model.Weight, new { onChange="return GetWight(this);"}) @Html.TextBoxFor(model => model.Rate, new { onChange="return GetWight(this);"})/Kg @Html.TextBoxFor(model => model.Freight, new {disabled = "disabled" , @readonly = "readonly" ,onChange="return GetTTLFright(this);"}) @Html.TextBoxFor(model => model.CNFPK, new { onChange="return GetCNFPK(this);"}) @Html.TextBoxFor(model => model.TTLCNF, new {disabled = "disabled" , @readonly = "readonly",onChange="return GetTTLFright(this);" }) @Html.TextBoxFor(model => model.AWB, new { onChange="return GetTTLFright(this);"}) and script <script> function GetW