private void ToolStripMenuItem_Click(object sender, EventArgs e) { if (sender == MenuItem_String) { EditColumnDialog Dialog = new EditColumnDialog(); if (DialogResult.OK == Dialog.ShowDialog()) { try { TableData.AddStringColumn(Dialog.TextBoxColumn.Text); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (sender == MenuItem_Integer) { EditColumnDialog Dialog = new EditColumnDialog(); if (DialogResult.OK == Dialog.ShowDialog()) { try { TableData.AddIntegerColumn(Dialog.TextBoxColumn.Text); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (sender == MenuItem_Float) { EditColumnDialog Dialog = new EditColumnDialog(); if (DialogResult.OK == Dialog.ShowDialog()) { try { TableData.AddFloatColumn(Dialog.TextBoxColumn.Text); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (sender == MenuItem_Date) { EditColumnDialog Dialog = new EditColumnDialog(); if (DialogResult.OK == Dialog.ShowDialog()) { try { TableData.AddDateColumn(Dialog.TextBoxColumn.Text); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (sender == Button_RenameColumn) { String Column = FpSpread_Panel.ActiveColumn.Tag.ToString(); EditColumnDialog Dialog = new EditColumnDialog(); Dialog.TextBoxColumn.Text = Column; if (DialogResult.OK == Dialog.ShowDialog()) { try { TableData.EditColumn(Column, Dialog.TextBoxColumn.Text); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (sender == Button_DeleteColumn) { String Column = FpSpread_Panel.ActiveColumn.Tag.ToString(); if (DialogResult.OK == MessageBox.Show("你确定要删除列‘" + Column + "’吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)) { TableData.DeleteColumn(Column); } } else if (sender == Button_ModelField) { DataFieldSelector DataFieldSelector = new DataFieldSelector(); Form Owner = Cache.CustomCache[SystemString.主窗口] as Form; DataFieldSelector.Location = Owner.PointToScreen(Owner.ClientRectangle.Location); DataFieldSelector.Size = Owner.ClientRectangle.Size; if (DialogResult.OK == DataFieldSelector.ShowDialog()) { try { DataTable Data = TableData.GetSchema(); List <String> ModelFields = DataFieldSelector.ModelFields; List <CellRange> CellRanges = FpSpread.GetSelections(FpSpread_Panel); if (ModelFields.Count > 0 && CellRanges.Count > 0) { CellRange Range = CellRanges[0]; for (int i = 0; i < Range.ColumnCount; i++) { if (i < ModelFields.Count) { Data.Rows[Range.Row][Range.Column + i] = ModelFields[i]; } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else if (sender == Button_ImportData) { openFileDialog1.Filter = "xml files (*.xml)|*.xml"; openFileDialog1.FilterIndex = 2; openFileDialog1.InitialDirectory = Application.StartupPath; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { using (TextReader tr = new StreamReader(openFileDialog1.FileName)) { object obj = BinarySerializer.Deserialize(tr.ReadToEnd()); if (obj is ArrayTableData) { TableData = obj as ArrayTableData; } else { MessageBox.Show("选择的文件的数据格式有错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } else if (sender == Button_ExportData) { saveFileDialog1.Filter = "xml files (*.xml)|*.xml"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.InitialDirectory = Application.StartupPath; saveFileDialog1.RestoreDirectory = true; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { using (TextWriter sw = new StreamWriter(saveFileDialog1.FileName)) { sw.Write(BinarySerializer.Serialize(TableData)); sw.Close(); } } } ShowArrayTableData(); }