找回密码
 立即注册

QQ登录

只需一步,快速开始

kfkn

论坛元老

8

主题

17

帖子

6774

积分

论坛元老

积分
6774

活字格认证

kfkn
论坛元老   /  发表于:2011-11-30 14:15  /   查看:7573  /  回复:6
请教:
调用方法后,子层数据如何显示?
public static void 区域绑定数据(int rowStar, int cluStar, List<dataSource> 数据源, FpSpread fpSpread1)
        {
            FarPoint.Win.Spread.Data.SpreadDataBindingAdapter data = new FarPoint.Win.Spread.Data.SpreadDataBindingAdapter();

            data.DataSource = 数据源;
            int i = 数据源.Count*6;
            int j = typeof(dataSource).GetProperties().Count()+typeof(dataSource.Gg).GetProperties().Count()-1;

            data.Spread = fpSpread1;

            data.SheetName = "Sheet1";

            data.MapperInfo = new FarPoint.Win.Spread.Data.MapperInfo(rowStar, cluStar,i - 1, j - 1);

            data.FillSpreadDataByDataSource();


        }


public class dataSource
                {
                        public string A { get; set; }
                        public decimal B { get; set; }
                        public DateTime D { get; set; }
                        public List<Gg> gg { get; set; }
                        public class Gg
                        {
                                public bool C { get; set; }
                                public int E { get; set; }
                                public double F { get; set; }
                                public string H { get; set; }
                                public decimal I { get; set; }
                        }

                        
                }
        public static List<dataSource> GetList()
                {
                        List<dataSource> ld = new List<dataSource>();

                        for (int i = 0; i < 10; i++)
                        {
                                dataSource aaa = new dataSource();
                                aaa.A = i.ToString("001");
                                aaa.B = Convert.ToDecimal(i + 10 * i);
                                aaa.D = (new DateTime(2009, 1, 1)).AddMonths(i);
                                List<dataSource.Gg> kk = new List<dataSource.Gg>();
                                for (int j = i; j < i+5;j++ )
                                {
                                        dataSource.Gg bbb = new dataSource.Gg();
                                        bbb.C = Convert.ToBoolean(i % 2);
                                        bbb.E = i;
                                        bbb.F = (i + 100 * i);
                                        bbb.H = (i + "aaa" + i).ToString();
                                        bbb.I = Convert.ToDecimal(i * 1000 + i * 10);
                                        kk.Add(bbb);
                                }
                                aaa.gg=kk;
                                ld.Add(aaa);
                                
                        }

                        return ld;
                }

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2011-11-30 16:50:00
沙发

回复 1# kfkn 的帖子

你好,使用 SpreadDataBindingAdapter 是给一个固定的单元格区域设置数据源,所以无法显示级联关系。
回复 使用道具 举报
kfkn
论坛元老   /  发表于:2011-11-30 17:33:00
板凳

回复 2# iceman 的帖子

怎样做才能显示级联关系?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-11-30 18:32:00
地板
你好,这是我做的级联 Demo ,请参考:
开发环境:VS 2010 &amp;&amp; Spread for WinForm 5.0
hierarchy.zip (49.47 KB, 下载次数: 568)
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-12-2 10:13:00
5#

回复 3# kfkn 的帖子

kfkn 你好,请问级联显示的问题解决了吗?
回复 使用道具 举报
kfkn
论坛元老   /  发表于:2011-12-8 10:07:00
6#

方法可以,但放5000条数据需要10分钟,太慢了。

方法可以,放5000条数据需要10分钟,太慢了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-12-8 11:23:00
7#

回复 6# kfkn 的帖子

不好意思,没有重现你的问题,我使用 1# 代码绑定 10000 条数据,耗时 4.6 秒,请你发 Demo 到论坛,以便确定问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部