Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用列表填充ObjectListView_C#_Datasource_Objectlistview - Fatal编程技术网

C# 使用列表填充ObjectListView

C# 使用列表填充ObjectListView,c#,datasource,objectlistview,C#,Datasource,Objectlistview,我正在尝试使用列表从ObjectListView库填充DataTreeListView。不幸的是,我无法实现它,即使列表中有项目计数,也没有显示任何内容 Class.cs public class Class { protected string xName; protected int xId; protected int xParentId; protected int happinessStatus; protected int salaryStatu

我正在尝试使用列表从ObjectListView库填充DataTreeListView。不幸的是,我无法实现它,即使列表中有项目计数,也没有显示任何内容

 Class.cs

 public class Class
 {
   protected string xName;
   protected int xId;
   protected int xParentId;
   protected int happinessStatus;
   protected int salaryStatus;

  public Class()
  {
  this.xName = "";
  this.xId = 0;
  this.xParentId = 0;
  this.happinessStatus = 0;
  this.salaryStatus = 0;
  }

  public String Name 
  {
    get { return this.xName; }
    set { this.xName = value; }
  }

  public int Id
  {
    get { return this.xId; }
    set { this.xId = value; }
   }

  public int ParentId
  {
   get { return this.xParentId; }
   set { this.xParentId = value; }
  }

  public int HappinessStatus
  {
    get {return this.happinessStatus; }
    set { this.happinessStatus = value; }
  }

  public int SalaryStatus
  {
    get { return this.salaryStatus; }
    set { this.salaryStatus = value; }
  }

  public static List<Class> GetList()
  {
     List<Class> oList = new List<Class>();
     Class oClass = new Class();

     oClass.Name = "Person A";
     oClass.Id = 1;
     oClass.ParentId = 0;
     oClass.HappinessStatus = 1;
     oClass.SalaryStatus = 1000;
     oList.Add(oClass);

     oClass.Name = "Person B";
     oClass.Id = 2;
     oClass.ParentId = 1;
     oClass.HappinessStatus = 1;
     oClass.SalaryStatus = 2000;
     oList.Add(oClass);

     oClass.Name = "Person C";
     oClass.Id = 3;
     oClass.ParentId = 1;
     oClass.HappinessStatus = 1;
     oClass.SalaryStatus = 1000;
     oList.Add(oClass);

     return oList; 
    }
Class.cs
公共课
{
受保护的字符串名称;
受保护的int-xId;
受保护的int-xParentId;
受保护的幸福状态;
受保护的工薪阶层;
公共类()
{
this.xName=“”;
这是0.xId=0;
this.xParentId=0;
此参数为0.happinessStatus=0;
this.salaryStatus=0;
}
公共字符串名
{
获取{返回this.xName;}
设置{this.xName=value;}
}
公共整数Id
{
获取{返回this.xId;}
设置{this.xId=value;}
}
公共int父ID
{
获取{返回this.xParentId;}
设置{this.xParentId=value;}
}
公共幸福状况
{
获取{返回this.happinessStatus;}
设置{this.happinessStatus=value;}
}
公共工薪阶层
{
获取{返回this.salaryStatus;}
设置{this.salaryStatus=value;}
}
公共静态列表GetList()
{
List oList=新列表();
类oClass=新类();
oClass.Name=“个人A”;
oClass.Id=1;
oClass.ParentId=0;
oClass.HappinessStatus=1;
oClass.SalaryStatus=1000;
添加(oClass);
oClass.Name=“人员B”;
oClass.Id=2;
oClass.ParentId=1;
oClass.HappinessStatus=1;
oClass.SalaryStatus=2000;
添加(oClass);
oClass.Name=“个人C”;
oClass.Id=3;
oClass.ParentId=1;
oClass.HappinessStatus=1;
oClass.SalaryStatus=1000;
添加(oClass);
回归寡头;
}
在主窗体的加载事件上

我做了以下工作:

    List<Class> list = new List<Class>();
    list = Class.GetList();
    dataTreeListView1.DataSource = list;
List List=新列表();
list=Class.GetList();
dataTreeListView1.DataSource=列表;
在designer视图中,我还创建了一些列,这些列将aspect name设置为类文件的每个属性,Id和ParentId除外

KeyAspectName:Id ParentKeyAspectName:ParentId

我做了一个小消息框来显示列表中项目的计数,它是正确的,但在dataTreeListView控件上没有显示任何内容


我可以知道我的编码有什么问题吗?

您是否相应地设置了
keyapectname
parentkeyapectname
RootKeyValue

如果使用设计器执行此操作,
RootKeyValue
可能是您的问题:

由于IDE中设计器的限制,只能通过IDE为RootKeyValue指定字符串值。如果ParentKey不是string类型,则必须通过代码设置其值

由于父键的类型为
int
use

dataTreeListView1.RootKeyValue = 0;
请注意,与基本OLV不同,您不需要手动添加列。如果要隐藏键列,请设置
ShowKeyColumns=false

编辑:
代码中还有一个错误。添加对象的同一实例
oClass
3次。使用
oClass=new Class()
在初始化新人之前。

这个Winforms,WPF,Asp.Net是什么平台?dataTreeListView1.RootKeyValue=0;成功了,谢谢你的大力帮助!@user3167398我遇到了一些问题我无法在datatreelistview上显示内容。你能帮我一下吗?我遇到了一些问题,我无法在datatreelistview上显示内容elistview你能帮我吗?我做了和你一样的事情所有代码都和你一样,但是我得到了一个带有列名但没有内容的树列表视图