/// <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); } }
/// <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; } }