原創|其它|編輯:郝浩|2012-11-22 10:45:17.000|閱讀 321 次
概述:在Spread你可以將一系列的單元格作為數據源綁定到一個外部的控件,比如說數據表格控件,文中的圖片顯示出了所涉及的對象。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在Spread你可以將一系列的單元格作為數據源綁定到一個外部的控件,比如說數據表格控件,下面的圖顯示出了所涉及的對象。
在這個過程中所包含了以下的對象:
SpreadDataView
SpreadDataRowView
ISpreadDataViewDataFormatter
ISpreadDataViewMapper
DefaultSpreadDataViewDataFormatter
DefaultSpreadDataViewMapper
我們來看一下實例:
創建一個自定義的類,代碼如下:
C#
public class MySpreadDataViewDataFormatter : ISpreadDataViewDataFormatter { private SpreadDataColumn column; private SheetView sheetView; public SheetView SheetView; { get { return sheetView; } set { sheetView = value; } } public MySpreadDataViewDataFormatter(SpreadDataColumn ownerColumn,SheetView sheetView) { if (ownerColumn == null) { throw new ArgumentNullException("ownerColumn"); } column = ownerColumn; this.SheetView = sheetView; } public object GetCellValue(Cell cell) { object ret = null; try { ret = this.SheetView.GetValue(cell.Row.Index, cell.Column.Index); ret += ": Customized format"; } catch { ret = " No value"; } return ret; } public void SetCellValue(Cell cell, object value) { this.SheetView.SetValue(cell.Row.Index, cell.Column.Index, value + ": Customized format"); } } // Assign new formatter dataSet = BuildDataSet(5,5); this.spreadDataBindingAdapter1.Spread = this.fpSpread1; this.spreadDataBindingAdapter1.SheetName = this.fpSpread1.ActiveSheet.SheetName; this.spreadDataBindingAdapter1.DataSource = dataSet.Tables[0]; spreadDataBindingAdapter1.MapperInfo = new MapperInfo(1, 2, 3, 4); MySpreadDataViewDataFormatter testFormatter = new MySpreadDataViewDataFormatter (this.spreadDataBindingAdapter1.SpreadDataView.Columns[2], fpSpread1.ActiveSheet); this.spreadDataBindingAdapter1.SpreadDataView.Columns[2].Formatter = testFormatter; this.spreadDataBindingAdapter1.FillSpreadDataByDataSource();
從ISpreadDataViewMapper繼承創建一個自定義的映射器,代碼如下:
C#
{ ... } //Assign customized Mapper for SpreadDataView dataSet = BuildDataSet(5,5); this.spreadDataBindingAdapter1.Spread = this.fpSpread1; this.spreadDataBindingAdapter1.SheetName = this.fpSpread1.ActiveSheet.SheetName; this.spreadDataBindingAdapter1.DataSource = dataSet.Tables[0]; MySpreadDataViewMapper testMapper = new MySpreadDataViewMapper (); this.spreadDataBindingAdapter1.SpreadDataView.Mapper = testMapper; spreadDataBindingAdapter1.MapperInfo = new MapperInfo(1, 2, 3, 4); this.spreadDataBindingAdapter1.FillSpreadDataByDataSource();
VB
Public Class MySpreadDataViewMapper Implements FarPoint.Win.Spread.Data.ISpreadDataViewMapper ... End Class dataSet = BuildDataSet(5, 5) Me.spreadDataBindingAdapter1.Spread = Me.fpSpread1 Me.spreadDataBindingAdapter1.SheetName = Me.fpSpread1.ActiveSheet.SheetName Me.spreadDataBindingAdapter1.DataSource = dataSet.Tables(0) Dim testMapper As New MySpreadDataViewMapper() Me.spreadDataBindingAdapter1.SpreadDataView.Mapper = testMapper spreadDataBindingAdapter1.MapperInfo = New MapperInfo(1, 2, 3, 4) Me.spreadDataBindingAdapter1.FillSpreadDataByDataSource()
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件