可以通过自定义CellType实现该功能,代码如下:
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("ID");
- dt.Columns.Add("Col1");
- dt.Columns.Add("Col2");
- dt.Columns.Add("Col3");
- dt.Rows.Add(10, 0, 12, 13);
- dt.Rows.Add(11, 1, 12, 13);
- dt.Rows.Add(12, 1, 12, 13);
- dt.Rows.Add(13, 0, 12, 13);
- // 在绑定数据源的时候,不自动设置列的CellType
- FpSpread1.ActiveSheetView.DataAutoCellTypes = false;
- FpSpread1.DataSource = dt;
- FpSpread1.ActiveSheetView.Columns[1].CellType = new CCellType();
- }
- }
- /// <summary>
- /// 自定义CellType,将 0 显示为“无”,将 1 显示为“有”
- /// </summary>
- [Serializable]
- public class CCellType : FarPoint.Web.Spread.TextCellType
- {
- public override Control PaintCell(string id, TableCell parent, FarPoint.Web.Spread.Appearance style, FarPoint.Web.Spread.Inset margin, object value, bool upperLevel)
- {
- if (value != null)
- {
- // 将 0 显示为“无”,将 1 显示为“有”
- if (value.ToString() == "0")
- {
- value = "无";
- }
- else
- {
- value = "有";
- }
- }
- return base.PaintCell(id, parent, style, margin, value, upperLevel);
- }
- }
复制代码 |