Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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# 将列表项显示到数据网格视图c中#_C#_List_Datagridview - Fatal编程技术网

C# 将列表项显示到数据网格视图c中#

C# 将列表项显示到数据网格视图c中#,c#,list,datagridview,C#,List,Datagridview,我有一个超类(抽象)和两个继承类 超类:会话 第一类:骑自行车 第二类:跑步 我还有一个列表,它将保存我的所有对象private list allSessions=new list() 我还声明了一些包含硬编码数据的数组,以填充我的对象 此外,Running and Cycling还有一个重写的ToString()方法,该方法根据类显示不同的数据 public override string ToString() => $"Cycle Average RPM is {Averag

我有一个超类(抽象)和两个继承类
超类:会话
第一类:骑自行车
第二类:跑步

我还有一个列表,它将保存我的所有对象
private list allSessions=new list()

我还声明了一些包含硬编码数据的数组,以填充我的对象

此外,Running and Cycling还有一个重写的
ToString()
方法,该方法根据类显示不同的数据

public override string ToString() => $"Cycle Average RPM is {AverageRpm} and Average Resistance is {AverageResistance}";
我使用for循环创建新对象并将其添加到列表中,如下所示

            for (int i = 0; i < id.Length; i++)
            {
                Cycling Cycle = new Cycling(id[i], titles[i], date[i], duration[i], difficulty[i], instructor[i],
                    description[i], averageRpm[i], averageResistance[i]);

                // Add new objects to list
                allSessions.Add(Cycle);
            }    

您需要筛选会话列表,并将其设置为您的数据源,您可以使用
系统中的
of type
轻松筛选列表。Linq
如下所示:

var sessions = new List<Sessions>();
var cyclingSessions = sessions.OfType<Cycling>();
var runningSessions = sessions.OfType<Running>();
dataDisplay.DataSource = cyclingSessions;
var sessions=newlist();
var cyclingSessions=sessions.OfType();
var runningSessions=sessions.OfType();
dataDisplay.DataSource=cyclingSessions;

您需要创建一个经过筛选的
allSessions
,并将该集合设置为您的数据源。现在,您的代码中没有任何内容是筛选您的allSessions列表,您试图为每个不起作用的项目设置数据源。@JSteward以及如何筛选列表。它必须按对象的类型进行过滤?e、 g循环和运行?在您编辑的代码
会话中类似的内容是一个空列表
是否在筛选之前初始化它?是的,您必须枚举结果才能获得集合,请尝试调用
ToList()
在结果上,然后我将如何将其实现到我的组合框中?当组合框更改时,请将您的数据源设置为已过滤的会话集合。像这样?`if(cboMenu.SelectedIndex==0){//使用数据dataDisplay.DataSource=allSessions填充GridView;}否则if(cboMenu.SelectedIndex==1){//使用数据dataDisplay.DataSource=cyclingSessions填充GridView;}else{//Populate GridView with data dataDisplay.DataSource=runningSessions;}`我还没有得到任何反馈。我将用我的代码更新问题,以供您查看。
var sessions = new List<Sessions>();
var cyclingSessions = sessions.OfType<Cycling>();
var runningSessions = sessions.OfType<Running>();
dataDisplay.DataSource = cyclingSessions;