我在窗体加载时 this.gridcontrol1.DataSource = UserInfoManage.selALLInfo();有数据为什么不显示?其中gridcontrol是自定义的列有:编号,名称,性别。,每个列也绑定值了,请各位前辈多多帮忙?

解决方案 »

  1.   

    ***_Load  事件中加载此方法了吗?
      

  2.   

    UserInfoManage.selALLInfo();
    检查此函数有没有返回一个List,断点调试,检查变量的值
      

  3.   

    this.gridcontrol1.DataSource = UserInfoManage.selALLInfo();这句是在form_load事件里面写的
      

  4.   

    只要是我不自定义列名就可以显示里面的数据,但是列名是数据库中的列名是英文字母,如:userId,我想让它显示中文的就自定义列名了
      

  5.   

    有点怪了, UserInfoManage.selALLInfo();返回List类型吗?
      

  6.   

    只要是我不自定义列名就可以显示里面的数据,但是列名是数据库中的列名是英文字母,如:userId,我想让它显示中文的就自定义列名了,确定是List<UserInfo>,返回数据是List类型的啊,可是只要我自定义了列就不显示
      

  7.   

    可以参考一下:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.IO;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using DevExpress.XtraEditors;
    using DevExpress.XtraEditors.Repository;namespace DevWindowsForms
    {
        public partial class XtraGrid : DevExpress.XtraEditors.XtraForm
        {
            DataBase db = new DataBase();
            public XtraGrid()
            {
                InitializeComponent();
            }        private void XtraGrid_Load(object sender, EventArgs e)
            {
                LoadDataGridView();
            }        protected void LoadDataGridView()
            {
                string sqlStr = "select CustomerID,CompanyName,Address,Country,Phone,City from Customers";
                DataSet ds = new DataSet();
                ds = db.GetDataSet(sqlStr);
                this.dgvReadMsg.DataSource = ds.Tables[0];
            }
        }
    }
      

  8.   

    绑定Datatable可以显示,但是为什么绑定List数据就不可以啊,我的所有查询都是用的List,还要一个个改成Datatable吗?
      

  9.   

    注意自定义列时是:FieldName = "userId"
      

  10.   

    对啊,我填写的就是和数据库中的列名一样,是userId
      

  11.   

    是不是gridControl属性中那里设置的问题
      

  12.   

    你的list中的列名是什么?userID?
    grid中的自定义列的绑定字段是list中对应的列名
      

  13.   


    如果: UserInfo中有UserName字段
    在GridControl的GridView中增加一个Column, Column中有很多属性:
    FildName属性设置成UserName, Caption属性设置成:用户名,其余的也是.
      

  14.   

    不知道该设什么属性,试了些还是不好用,绑定就是list中数据列啊?可是就是不显示,只要我不自己设计列名就可以显示list中的数据,设计列名后绑定的也没错就是不显示啊
      

  15.   

    这是数据层查询的返回数据list
    public static List<UserInfo> selAll()
           {
               string sql="select * from UserInfo";
               DataTable dt = DBHelp.GetTable(sql);
               List<UserInfo> list = new List<UserInfo>();
               foreach (DataRow dr in dt.Rows)
               {
                   UserInfo ui = new UserInfo();
                   ui.UserId = dr["userId"].ToString();
                   ui.UserName = dr["userName"].ToString();
                   ui.Sex = dr["sex"].ToString();
                   ui.Re = dr["re"].ToString();
                   ui.Pwd = dr["pwd"].ToString();
                   ui.Phone = dr["phone"].ToString();
                   ui.Duty = dr["duty"].ToString();
                   ui.CodeId = dr["codeId"].ToString();
                   ui.BumenId = int.Parse(dr["bumenId"].ToString());
                   ui.Bumen = BumenService.SelById(ui.BumenId);
                   ui.BornRiqi = dr["bornRiqi"].ToString();
                   ui.Address = dr["address"].ToString();
                   list.Add(ui);
               }
               return list;
           }
    这是页面层调用业务逻辑层的,也是返回List,确定返回正确
     private void UCUserInfo_Load(object sender, EventArgs e)
            {
         this.gridcontrol1.DataSource = UserInfoManage.SelAll();//返回list
              
           }
      

  16.   

    userId 改为UserId试试。FieldName = "UserId" ...
      

  17.   

    好使了,谢谢你啊,为什么写成这样啊,我的数据库中是小写的,是找的他的Model层的封装的属性吗?
      

  18.   

    DevExpress学习交流(C#、ASP.NET)总群:82306553 状态:已满
    二群:90957405 状态:已满
    三群:88170049 状态:热招
      

  19.   

    右键进入设计模式,添加Columns或者GridColumn在后台代码中添加,GirdColumn对应FiledName是List对象中的字段名称,如果在后台添加要记得设置GridColumn的VisibleIndex属性