原創(chuàng)|其它|編輯:郝浩|2012-11-22 10:45:17.000|閱讀 321 次
概述:在Spread你可以將一系列的單元格作為數(shù)據(jù)源綁定到一個(gè)外部的控件,比如說數(shù)據(jù)表格控件,文中的圖片顯示出了所涉及的對象。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在Spread你可以將一系列的單元格作為數(shù)據(jù)源綁定到一個(gè)外部的控件,比如說數(shù)據(jù)表格控件,下面的圖顯示出了所涉及的對象。
在這個(gè)過程中所包含了以下的對象:
SpreadDataView
SpreadDataRowView
ISpreadDataViewDataFormatter
ISpreadDataViewMapper
DefaultSpreadDataViewDataFormatter
DefaultSpreadDataViewMapper
我們來看一下實(shí)例:
創(chuàng)建一個(gè)自定義的類,代碼如下:
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繼承創(chuàng)建一個(gè)自定義的映射器,代碼如下:
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()
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件