public void Delete() { Cell cell = fpInterfaces_Sheet1.ActiveCell; if (cell == null) { return; } ISystemValueImplementor iSystemValueImplementor = fpInterfaces_Sheet1.Rows[cell.Row.Index].Tag as ISystemValueImplementor; //如果为非空的接口设置,才弹出确认删除询问。 if (iSystemValueImplementor.DllName != string.Empty && iSystemValueImplementor.ClassName != string.Empty) { DialogResult dr = MessageBox.Show("确认要删除 " + iSystemValueImplementor.DllName + " 下的 " + iSystemValueImplementor.ClassName + " 吗?", "删除ISystemValue", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr != DialogResult.Yes) { return; } } if (interfaceSetting.ISystemValueImplementorList.Contains(iSystemValueImplementor)) { interfaceSetting.ISystemValueImplementorList.Remove(iSystemValueImplementor); } fpInterfaces_Sheet1.Rows.Remove(cell.Row.Index, 1); SendInterfaceToGlobalValue(); if (Changed != null) { Changed(this, null); } }
private void fpInterfaces_ButtonClicked(object sender, EditorNotifyEventArgs e) { DialogResult dr = openFileDialog.ShowDialog(); if (dr == DialogResult.OK) { string dllName = openFileDialog.SafeFileName; List <Type> typeList = null; typeList = ReflectionManager.GetTypesByInterfaceWithOutAbstract(dllName, InterfaceType, TypeOfType.Class); if (typeList == null || typeList.Count == 0) { return; } SetHyperLinkCellTypeCellText(fpInterfaces_Sheet1.Cells[e.Row, e.Column], dllName); ISystemValueImplementor iSystemValueImplementor = fpInterfaces_Sheet1.Rows[e.Row].Tag as ISystemValueImplementor; iSystemValueImplementor.DllName = dllName; string[] types = new string[typeList.Count]; for (int i = 0; i < typeList.Count; i++) { types[i] = typeList[i].FullName; } comboBoxCellType.Items = types; fpInterfaces_Sheet1.Cells[e.Row, 1].CellType = comboBoxCellType.Clone() as FarPoint.Win.Spread.CellType.ComboBoxCellType; fpInterfaces_Sheet1.Cells[e.Row, 1].Locked = false; } }
public void Add() { ISystemValueImplementor iSystemValueImplementor = new ISystemValueImplementor(); //添加至FP。此时先不将iSystemValueImplementor添加至interfaceSetting.ISystemValueImplementorList中。在FP的EditChange进行添加。 //因为只有在选择一个完成的接口实现类之后才会触发EditChange事件,此时再将新添加的接口实现类添加至interfaceSetting.ISystemValueImplementorList才有意义。 Add(iSystemValueImplementor); if (Changed != null) { Changed(this, null); } }
private void fpInterfaces_EditChange(object sender, EditorNotifyEventArgs e) { if (e.Column == 1) { ISystemValueImplementor iSystemValueImplementor = fpInterfaces_Sheet1.Rows[e.Row].Tag as ISystemValueImplementor; iSystemValueImplementor.ClassName = fpInterfaces_Sheet1.Cells[e.Row, 1].Text; if (!interfaceSetting.ISystemValueImplementorList.Contains(iSystemValueImplementor)) { interfaceSetting.ISystemValueImplementorList.Add(iSystemValueImplementor); } SendInterfaceToGlobalValue(); } }
private void Add(ISystemValueImplementor iSystemValueImplementor) { fpInterfaces_Sheet1.Rows.Count++; int lastRowIndex = fpInterfaces_Sheet1.Rows.Count - 1; fpInterfaces_Sheet1.Rows[lastRowIndex].Tag = iSystemValueImplementor; if (iSystemValueImplementor.DllName == string.Empty) { fpInterfaces_Sheet1.Cells[lastRowIndex, 0].Value = "单击选择文件"; } else { fpInterfaces_Sheet1.Cells[lastRowIndex, 0].Value = iSystemValueImplementor.DllName; } fpInterfaces_Sheet1.Cells[lastRowIndex, 1].Value = iSystemValueImplementor.ClassName; Cell cell = fpInterfaces_Sheet1.Cells[lastRowIndex, 0]; SetHyperLinkCellTypeCellText(cell, cell.Value.ToString()); }