void btnExport_Click(object sender, RoutedEventArgs e)
        {
            string         extension = "xls";
            SaveFileDialog dialog    = new SaveFileDialog()
            {
                DefaultExt  = extension,
                Filter      = String.Format("{1} files (.{0})|.{0}|All files (.)|.", extension, "Excel"),
                FilterIndex = 1
            };

            if (dialog.ShowDialog() == true)
            {
                var col0Visibility = StcDocumentItemsRadGridView.Columns[0].IsVisible;
                StcDocumentItemsRadGridView.Columns[0].IsVisible = false;//ستون هایی که نمی خواهیم در اکسل دیده شوند
                var opt = new GridViewExportOptions()
                {
                    Format            = ExportFormat.Html,
                    ShowColumnHeaders = true,
                    ShowColumnFooters = true,
                    ShowGroupFooters  = false,
                };
                using (Stream stream = dialog.OpenFile())
                {
                    StcDocumentItemsRadGridView.Export(stream,
                                                       opt);
                }
                StcDocumentItemsRadGridView.Columns[0].IsVisible = col0Visibility;//این ستون در بالا مخفی شده بود، حالا به حالت اول باز گردانده می شود
            }
        }
        private void StcDocumentHeaderListView_Loaded(object sender, RoutedEventArgs e)
        {
            Loaded    -= StcDocumentHeaderListView_Loaded;
            _viewModel = DataContext as IncomingDocumentListViewModel;
            _viewModel.Loaded();
            BeginEdit();
            if (StcDocumentHeaderDataForm?.ItemsSource != null)
            {
                var headers = StcDocumentHeaderDataForm.ItemsSource.Cast <StcDocumentHeader>();
                foreach (var header in headers)
                {
                    header.PropertyChanged += StcDocumentHeader_PropertyChanged;
                    //   var accDocumentItems = header.StcDocumentItems as ObservableCollection<StcDocumentItem>;
                    //accDocumentItems.CollectionChanged += StcDocumentItems_CollectionChanged;
                    //foreach (var item in header.StcDocumentItems)
                    //{
                    //    item.PropertyChanged += Item_PropertyChanged;
                    //}
                }
            }
            NavStateFalse();
            var addNewHeaderCommand = RadDataFormCommands.AddNew as RoutedUICommand;

            addNewHeaderCommand.Execute(null, StcDocumentHeaderDataForm);
            detailRadTabItem.IsSelected = true;
            StcDocumentItemsRadGridView.Focus();
        }
        private void StcDocumentItemsRadGridView_AddingNewDataItem(object sender, GridViewAddingNewEventArgs e)
        {
            var gridView = e.OwnerGridViewItemsControl;

            StcDocumentItemsRadGridView.ScrollIntoViewAsync(StcDocumentItemsRadGridView.Items[StcDocumentItemsRadGridView.Items.Count - 1],     //the row
                                                            StcDocumentItemsRadGridView.Columns[StcDocumentItemsRadGridView.Columns.Count - 1], //the column
                                                            new Action <FrameworkElement>((f) =>
            {
                (f as GridViewRow).IsSelected = true;                      // the callback method
            }));
        }
        private void StcDocumentItemsRadGridViewContextMenu_ItemClick(object sender, Telerik.Windows.RadRoutedEventArgs e)
        {
            string tag = (e.OriginalSource as RadMenuItem).Tag as string;

            switch (tag)
            {
            case "show":
                ShowReport();
                break;

            case "design":
                DesignReport();
                break;

            case "print":
                PrintReport();
                break;

            case "add":
                var index = StcDocumentItemsRadGridView.Items.IndexOf(StcDocumentItemsRadGridView.SelectedItem);
                if (index > -1)
                {
                    ((ObservableCollection <StcDocumentItem>)StcDocumentItemsRadGridView.ItemsSource).Insert(index, new StcDocumentItem());
                }
                break;

            case "edit":
                StcDocumentItemsRadGridView.BeginEdit();
                break;

            case "delete":
                StcDocumentItemsRadGridView.Items.Remove(StcDocumentItemsRadGridView.SelectedItem);
                break;

            default:
                break;
            }
        }
 private void StcDocumentItemsRadGridView_Loaded(object sender, RoutedEventArgs e)
 {
     StcDocumentItemsRadGridView.BeginInsert();
     StcDocumentItemsRadGridView.CurrentColumn = StcDocumentItemsRadGridView.Columns[0];
 }