找回密码
 立即注册

QQ登录

只需一步,快速开始

bigtree000

注册会员

1

主题

4

帖子

54

积分

注册会员

积分
54
  • 50

    金币

  • 主题

  • 帖子

最新发帖
bigtree000
注册会员   /  发表于:2015-1-3 23:37  /   查看:6252  /  回复:5
我使用的是vs2010,控件为FarPoint spread8.0,我想从一个数据库中读取数据,然后显示在spread 表中。
这个窗体是通过点击一个按钮弹出的,
刚开始,仅仅在form_load中初始化一个表格行,代码如下,运行无问题。

private void test_Load(object sender, EventArgs e)
        {

            axfpSpread1.MaxCols = 10;

            axfpSpread1.Row = 1;
            axfpSpread1.Col = 1;
            axfpSpread1.Text = "序号";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(1, 5);

            axfpSpread1.Col = 2;
            axfpSpread1.Text = "内容1";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(2, 10);

            axfpSpread1.Col = 3;
            axfpSpread1.Text = "内容2";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(3, 12);


            axfpSpread1.Col = 4;
            axfpSpread1.Text = "内容3";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(4, 7);

            axfpSpread1.Col = 5;
            axfpSpread1.Text = "内容4";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(5, 7);

            axfpSpread1.Col = 6;
            axfpSpread1.Text = "内容5";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(6, 10);

            axfpSpread1.Col = 7;
            axfpSpread1.Text = "内容6";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(7, 12);

            axfpSpread1.Col = 8;
            axfpSpread1.Text = "内容7";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(8, 6);

            axfpSpread1.Col = 9;
            axfpSpread1.Text = "内容8";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(9, 6);

            axfpSpread1.Col = 10;
            axfpSpread1.Text = "内容9";
            axfpSpread1.FontBold = true;
            axfpSpread1.BackColor = Color.LightGray;
            axfpSpread1.CellType = FPUSpreadADO.CellTypeConstants.CellTypeStaticText;
            axfpSpread1.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            axfpSpread1.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            axfpSpread1.set_ColWidth(10, 7);
            axfpSpread1.RowsFrozen = 1;
            axfpSpread1.SetCellBorder(-1, -1, axfpSpread1.MaxCols, axfpSpread1.MaxRows, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexOutline, 0x00, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
           
           }
运行正常,然后在后面加上一段读取数据库数据的代码:
        AccessDB myDb = new AccessDB();
            DataSet ds = new DataSet();

            string cmdstr = "select * from Tb_Telemetry where [项目]='" + SelProject + "' and [阶段]='" + SelPhase + "' and [代号]='" +
               SelCode + "' order by [ID] asc";
            ds = myDb.Getdataset(cmdstr);
            
            axfpSpread1.MaxRows = ds.Tables[0].Rows.Count + 1;

将这段代码加到form_load中上段程序后面,调试时,点击按钮,弹出的spread表格是一个大空白,关闭这个窗体,再点击按钮,弹出的表格正常显示,请问,这是怎么回事?

5 个回复

倒序浏览
bigtree000
注册会员   /  发表于:2015-1-3 23:46:00
沙发
正常执行时,效果如图1所示,添加数据库那段代码后,白块效果如图2所示,我不确定什么原因,标题可能取的不合理。请帮忙解决一下,为什么添加那段代码后,点击按钮,第一次出来的是白块?

1.jpg

30.8 KB, 下载次数: 203

2.jpg

14.77 KB, 下载次数: 222

回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-4 12:14:00
板凳
回复 2楼bigtree000的帖子

请问您使用的 Spread 产品是 ActiveX 平台吗?

没有看到您绑定spread数据源的代码:

  1. Set fpSpread1.DataSource = rs
复制代码
回复 使用道具 举报
bigtree000
注册会员   /  发表于:2015-1-4 20:04:00
地板
我不知道是什么平台的,安装后,VS2010上的控件是显示成图1这样的。

不需要数据源绑定,因为我还要从数据源里挑选数据显示,这部分也能实现,目前的问题是第一次按按钮出来的窗体是个白块,关闭后,第二次打开就没问题了。。。。

求解决问题的高招。。。 是不是版本不兼容?
3.png
回复 使用道具 举报
bigtree000
注册会员   /  发表于:2015-1-4 20:25:00
5#
上面图里面的四个控件,我试过了 FarPoint Spread 8.0(OLEDB)和FarPoint Spread 8.0(OLEDB)(UNICODE)这两个,都不行,效果是一样的。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-1-5 10:22:00
6#
回复 5楼bigtree000的帖子

如果你希望在 VS2010 下创建 WinForms 平台应用,建议使用Spread for WinForms 产品:
http://www.gcpowertools.com.cn/d ... /SpreadforWinv8.zip

Spread WinForms 平台绑定数据源方法请参考:
http://www.gcpowertools.com.cn/d ... #!Documents/_39.htm
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部