Esempio n. 1
0
        /// <summary>
        /// 按下CTRL+V,复制Excel中的数据粘贴到DataGrid
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GrainAnalysisTestDataGrid_KeyDown(object sender, KeyEventArgs e)
        {
            // 如果不处于编辑状态则不相应键盘操作
            if (!isEditing)
            {
                return;
            }

            // 判断按下的是否为CTRL+V
            if (ModifierKeys.Control == Keyboard.Modifiers && e.Key == Key.V)
            {
                // 获取Excel复制的数据,数据为空时退出函数
                List <string[]> excelData = OfficeOperation.GetDataFromExcelClipBoard();
                if (excelData == null)
                {
                    return;
                }

                // 获取当前选中的DataGrid行号和列号
                int row, column;
                if (this.GrainAnalysisTestDataGrid.SelectedCells.Count == 0)
                {
                    row    = 0;
                    column = 0;
                }
                else
                {
                    row    = this.GrainAnalysisTestDataGrid.Items.IndexOf(this.GrainAnalysisTestDataGrid.SelectedCells[0].Item);
                    column = this.GrainAnalysisTestDataGrid.SelectedCells[0].Column.DisplayIndex;
                }

                // 将复制的数据添加到绑定的DataTable
                dtGAT = DtOperation.PasteFromExcel(dtGAT, row, column, excelData, 2);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 点击"保存"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
            // 恢复筛选状态
            this.SelectByZkComboBox.SelectedIndex    = 0;
            this.SelectByLayerComboBox.SelectedIndex = 0;

            // 清除空数据行
            dtGAT = DtOperation.RemoveEmptyRow(dtGAT);

            // 检查数据合法性并保存
            if (CanSave())
            {
                // 计算取样所属分层
                CalcuSampleLayer();

                // 保存
                Save();

                // 更新导航树
                if (!MainWindow.bind.IsExistSecondTreeItem(3, "颗粒分析"))
                {
                    MainWindow.bind.AddItemToSecondTree(3, "颗粒分析");

                    // 若是首次输入数据,关闭控件弹出并成功提示
                    MessageBox.Show("保存成功!");
                    this.Visibility = Visibility.Collapsed;
                }
                else
                {
                    SetButtonEnable(false);
                    MessageBox.Show("保存成功!");
                }
                MainWindow.bind.TreeItem[3].IsExpanded = true;
            }
        }