天天看点

FarPoint Spread MultiColumnComboBox用法示例

首先工具栏加入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 
            {
            }
        }