FineUI 官方论坛

标题: 不包含“SortField”的定义 [打印本页]

作者: 在路上。。。    时间: 2013-6-27 11:02
标题: 不包含“SortField”的定义
“FineUI.Grid”不包含“SortField”的定义,并且找不到可接受类型为“FineUI.Grid”的第一个参数的扩展方法“SortField”(是否缺少 using 指令或程序集引用?)         

请教下三生石,这个是不是个bug啊?

作者: sanshi    时间: 2013-6-27 11:28
你用的版本是啥?

FineUI.Grid 包含只读的 SortField,把你的代码贴下
作者: 在路上。。。    时间: 2013-6-27 11:50
本帖最后由 在路上。。。 于 2013-6-27 11:53 编辑

版本是3.2.3.0

代码:
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                loaddata();
            }
        }
        protected void loaddata()
        {
            // 1.设置总项数(特别注意:数据库分页一定要设置总记录数RecordCount)
            Grid1.RecordCount = GetTotalCount();

            // 2.获取当前分页数据
            DataTable table = GetPagedDataTable();

            // 3.绑定到Grid
            Grid1.DataSource = table;
            Grid1.DataBind();
        }
        protected void Grid1_Sort(object sender, FineUI.GridSortEventArgs e)
        {
            Grid1.SortDirection = e.SortDirection;
            Grid1.SortColumnIndex = e.ColumnIndex;

            loaddata();
        }
        protected void Grid1_PageIndexChange(object sender, FineUI.GridPageEventArgs e)
        {
            Grid1.PageIndex = e.NewPageIndex;

            loaddata();
        }
        /// <summary>
        /// 模拟返回总项数
        /// </summary>
        /// <returns></returns>
        private int GetTotalCount()
        {
            return SqlHelper.Query("select * from t_qyxx order by id").Tables[0].Rows.Count;
        }

        /// <summary>
        /// 模拟数据库分页
        /// </summary>
        /// <returns></returns>
        private DataTable GetPagedDataTable()
        {
            int pageIndex = Grid1.PageIndex;
            int pageSize = Grid1.PageSize;
            
            //string sortField = Grid1.SortColumn;            string sortField = Grid1.SortField;
            string sortDirection = Grid1.SortDirection;
            
            DataTable table2 = SqlHelper.Query("select * from t_qyxx order by id").Tables[0];

            DataView view2 = table2.DefaultView;
            view2.Sort = String.Format("{0} {1}", sortField, sortDirection);

            DataTable table = view2.ToTable();

            DataTable paged = table.Clone();
            
            int rowbegin = pageIndex * pageSize;
            int rowend = (pageIndex + 1) * pageSize;
            if (rowend > table.Rows.Count)
            {
                rowend = table.Rows.Count;
            }

            for (int i = rowbegin; i < rowend; i++)
            {
                paged.ImportRow(table.Rows);
            }

            return paged;
        }
}

作者: 在路上。。。    时间: 2013-6-27 12:00
这个代码我是从demo中数据库分页和排序里拷贝过来的。
还有个问题我在qq群里问了下大家这个问题。黑冰说是把 string sortField = Grid1.SortField;改成string sortField = Grid1.SortColumn;
但是系统说是找不到列acs,acs是SortDirection。SortField能不能改成SortColumn?这2者有什么区别?
作者: sanshi    时间: 2013-6-27 17:00
也有可能是版本问题,你换成最新的版本试下
作者: 在路上。。。    时间: 2013-6-27 21:53
好吧。但是一开始是没问题的。后来我改着改着就出错了。再往回来就一直出错了!




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4