首先工具栏加入FarPoint.Win.Spread.FpSpread。假如命名为fpSpread1。
定义一个DataTable
System.Data.DataTable pDT = new System.Data.DataTable("T_Sex");
//set columns names
pDT.Columns.Add("SexCode", typeof(System.String));
pDT.Columns.Add("Sex", typeof(System.String));
pDT.Columns.Add("SexName", typeof(System.String));
//Add Rows
System.Data.DataRow mDR = pDT.NewRow();
mDR["SexCode"] = "M";
mDR["Sex"] = "男";
mDR["SexName"] = "男";
pDT.Rows.Add(mDR);
mDR = pDT.NewRow();
mDR["SexCode"] = "F";
mDR["Sex"] = "女";
mDR["SexName"] = "女";
pDT.Rows.Add(mDR);
FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType mMCCBCT = new FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType();
mMCCBCT.DataSourceList = pDT;
mMCCBCT.DataMemberList = "T_Sex";
mMCCBCT.EditorValueChanged += mMCCBCT_EditorValueChanged;
mMCCBCT.ListWidth = 500;
mMCCBCT.ListResizeColumns = FarPoint.Win.Spread.CellType.ListResizeColumns.ByDataType;
mMCCBCT.AutoSearch = FarPoint.Win.AutoSearch.MultipleCharacter;
mMCCBCT.AcceptsArrowKeys = FarPoint.Win.SuperEdit.AcceptsArrowKeys.AllArrows;
mMCCBCT.ColumnEditName = "SexName";
mMCCBCT.DataColumnName = "Sex";
this.fpSpread1.Sheets[0].Cells.Get(1, 1).CellType = mMCCBCT;
this.fpSpread1.Sheets[0].Cells[1, 1].Value = "男";
private void fpSpread1_ComboCloseUp(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
{
try
{
this.fpSpread1.ActiveSheet.Cells[e.Row, e.Column + 1].Value = this.fpSpread1.ActiveSheet.Cells[e.Row, e.Column].CellType.GetEditorValue();
return;
}
catch
{
}
}