找回密码
 立即注册

QQ登录

只需一步,快速开始

zhenyu0141

新手上路

1

主题

3

帖子

38

积分

新手上路

积分
38
  • 35

    金币

  • 主题

  • 帖子

最新发帖
zhenyu0141
新手上路   /  发表于:2013-7-31 11:54  /   查看:8295  /  回复:6
你好,我用下面这种方式把数据绑定到控件后,但我原来的表头格式都没有了,只有这个绑定的数据列表了,比如我表头用了6行来固定显示一些单位、地址等信息(里面的格式也有些是合并的单元格),那有没有办法,当我绑定后,表头还在并格式不变呀?

FpSpread1.ActiveSheet.AutoGenerateColumns = False
FpSpread1.ActiveSheet.DataSource = Adodc.datasource

6 个回复

倒序浏览
Ally
葡萄城公司职员   /  发表于:2013-7-31 16:38:00
沙发
您好。
绑定数据后,原来的表头无法被保存,这是spread的策略。要想实现以上需求,只能在绑定数据后再将表头设定为所需的格式。
回复 使用道具 举报
zhenyu0141
新手上路   /  发表于:2013-8-1 09:48:00
板凳
你的意思是,在绑定数据前把表头信息存起来,绑定后再加进去?如果有边框加粗之类的呢,有没有代码提示一下。

11副本.jpg (44.26 KB, 下载次数: 538)
回复 使用道具 举报
Ally
葡萄城公司职员   /  发表于:2013-8-1 15:10:00
地板
没什么捷径,只能把您绑定数据之前设置Header的代码在绑定数据后再执行一遍。
回复 使用道具 举报
zhenyu0141
新手上路   /  发表于:2013-8-2 14:40:00
5#
哦,我这个是直接用EXCEL画好的,我现在的思路是把表头每个CELL里的值先保存起来,绑定后再插进去,不知道可能不,还有如何用代码去画表头呢?能否给个例子?
回复 使用道具 举报
Ally
葡萄城公司职员   /  发表于:2013-8-2 17:36:00
6#
我们这边正在找解决方案,请您稍等。
回复 使用道具 举报
Ally
葡萄城公司职员   /  发表于:2013-8-5 10:42:00
7#
不太理解您说的直接用EXCEL画好的是什么意思。也不知道您是否理解我的意思。绑定数据后ColumnHeader不被保存,如果想设置特定格式只能在绑定数据后重新设置,可以参考以下代码:
DataTable dt = new DataTable("LIST");
            dt.Columns.Add("Column1", Type.GetType("System.Int32"));
            dt.Columns.Add("Column2", Type.GetType("System.String"));
            dt.Columns.Add("Column3", Type.GetType("System.Int32"));
            dt.Columns.Add("Column4", Type.GetType("System.String"));
            dt.Columns.Add("Column5", Type.GetType("System.Int32"));
            dt.Columns.Add("Column6", Type.GetType("System.String"));
            dt.Rows.Add(new object[] { 100, "AAA", 100, "AAA", 100, "AAA" });
            dt.Rows.Add(new object[] { 200, "BBB", 200, "BBB", 200, "BBB" });
            dt.Rows.Add(new object[] { 300, "CCC", 300, "CCC", 300, "CCC" });
            dt.AcceptChanges();

            fpSpread1.ActiveSheet.AutoGenerateColumns = true;
            fpSpread1.ActiveSheet.DataSource = dt;

            fpSpread1.ActiveSheet.ColumnHeader.RowCount = 4;
            fpSpread1.ActiveSheet.ColumnHeader.Cells[0, 0].ColumnSpan = fpSpread1.ActiveSheet.ColumnHeader.Columns.Count;
            NamedStyle style = new NamedStyle("myStyle");
            style.Border = new LineBorder(Color.Red, 3, true, true, true, true);
            fpSpread1.NamedStyles.Add(style);
            fpSpread1.ActiveSheet.ColumnHeader.Rows[3].StyleName = "myStyle";
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部