使用LINQ查询时出现的字段顺序问题

本文探讨了在关联表查询过程中遇到的数据绑定顺序问题,并通过实例展示了如何正确处理,确保DataGridView列顺序符合预期。

我在使用关联表查询时,代码如下:

var q = from s in DC.PRODUCT_PLAN_BATCH

                        from c in s.PRODUCT_PLAN_ITEM

                        from i in c.WORKPLAN_CODES

                        where (strarray).Contains(i.NAME) &&

                        c.TIME_START >= dtstart &&

                        c.TIME_START <= dtend

                        orderby c.TIME_START

                        select new Info

                        {

                            批次 = s.BAT_NO,

                            阶段 = i.NAME,

                            瓶数 = (int)s.TOTAL_NUMBER,

                            培育室 = "",

                            生长室="",

                            周期 = "",

 

                            计划开始时间 = c.TIME_START,

                            计划结束时间 = c.TIME_END,

                            实际开始时间 = c.REAL_START,

                            实际结束时间 = c.REAL_END

                        };

其中Info 为我自己声明的类:

public class Info

        {

            string _批次;

            string _阶段;

            int _瓶数;

 

            string _培育室;

            string _生长室;

            string _周期;

 

            DateTime? _计划开始时间;

            DateTime? _计划结束时间;

            DateTime? _实际开始时间;

            DateTime? _实际结束时间;

 

 

          

 

            public string 培育室

            {

                get { return _培育室; }

                set { _培育室 = value; }

            }

 

 

            public string 生长室

            {

                get { return _生长室; }

                set { _生长室 = value; }

            }

 

 

            public string 周期

            {

                get { return _周期; }

                set { _周期 = value; }

            }

 

 

 

            public int 瓶数

            {

                get { return _瓶数; }

                set { _瓶数 = value; }

            }

 

            public DateTime? 计划开始时间

            {

                get { return _计划开始时间; }

                set

                {

                    if (value != null)

                    {

                        _计划开始时间 = value;

                    }

                }

            }

 

            public DateTime? 计划结束时间

            {

                get { return _计划结束时间; }

                set

                 {

                     if (value != null)

                     {

                         _计划结束时间 = value;

                     }

                 }

            }

 

            public DateTime? 实际开始时间

            {

                get { return _实际开始时间; }

                set

                {

                    if (value != null)

                    {

                        _实际开始时间 = value;

                    }

                }

            }

 

            public DateTime? 实际结束时间

            {

                get { return _实际结束时间; }

                set

                {

                    if (value != null)

                    {

                        _实际结束时间 = value;

                    }

                }

            }

 

           public string 批次

            {

                get { return _批次; }

                set { _批次 = value; }

            }

 

            public string 阶段

            {

                get { return _阶段; }

                set { _阶段 = value; }

            }

 

 

        }

 

将其绑定到datagridview上,

Datagridview.datasource = q.tolist();

后来发现datagridview的列的顺序怎么都不对,【批次】【阶段】列在最后面,最后发现datagridview中列的顺序是按照类Info中的属性顺序排列的,恍然大悟。

转载于:https://www.cnblogs.com/miaomiaosdad/p/3363841.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值