Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# 如何将列表数组与GridView或DataList绑定?_C#_Asp.net_Gridview_Datasource_Nested Lists - Fatal编程技术网

C# 如何将列表数组与GridView或DataList绑定?

C# 如何将列表数组与GridView或DataList绑定?,c#,asp.net,gridview,datasource,nested-lists,C#,Asp.net,Gridview,Datasource,Nested Lists,我已经创建了一个列表数组。该数组有七行,代表一周中的几天,列表中包含医生预约的可用时段。我试图用GridView或DataList(更合适的)绑定它,但没有成功 我宣布名单如下: List<string>[] list=new List<string>[7]; //An array of 7 lists for (int i = 0; i < 7; i++) {

我已经创建了一个列表数组。该数组有七行,代表一周中的几天,列表中包含医生预约的可用时段。我试图用
GridView
DataList
(更合适的)绑定它,但没有成功

我宣布名单如下:

List<string>[] list=new List<string>[7]; //An array of 7 lists
                    for (int i = 0; i < 7; i++)
                    {
                        list[i]=new List<string>();
                    }
List[]List=新列表[7]//由7个列表组成的数组
对于(int i=0;i<7;i++)
{
list[i]=新列表();
}
我已经用字符串填充了列表,这些字符串表示与医生预约的可用时间


我想要实现的结果是,其中一位医生的可用性,如本网站所示:

您可以将阵列更改为
列表
,如下所示:

List<List<string>> list = new List<List<string>>();

来源:

将列表转换为数据表,然后绑定。数组的数组绑定起来有点复杂。

非常感谢。这真的很有帮助,我花了一些时间试图理解这个转换背后的逻辑,作为一个新手,我最终得到了一段小小的代码:

 private System.Data.DataTable CreateDataTable(List<string> columnDefinitions, List<List<string>> rows)
    {
        DataTable table = new DataTable();

        foreach (string colDef in columnDefinitions)
        {
            DataColumn column;
            column = new DataColumn();
            column.DataType = typeof(string);
            column.ColumnName = colDef;
            table.Columns.Add(column);
        }

        for (int i = 0; i < rows[0].Count; i++)
        {
            table.Rows.Add(rows[0][i], rows[1][i], rows[2][i], rows[3][i], rows[4][i], rows[5][i], rows[6][i]);
        }
        return table;
    }

    private List<string> GetColDefsFromBackend()
    {
        List<string> cols = new List<string>();
        cols.Add("Monday");
        cols.Add("Tuesday");
        cols.Add("Wednesday");
        cols.Add("Thursday");
        cols.Add("Friday");
        cols.Add("Saturday");
        cols.Add("Sunday");
        return cols;
    }
private System.Data.DataTable CreateDataTable(列表列定义,列表行)
{
DataTable=新的DataTable();
foreach(columnDefinitions中的字符串colDef)
{
数据列;
column=newdatacolumn();
column.DataType=typeof(字符串);
column.ColumnName=colDef;
表.列.添加(列);
}
对于(int i=0;i<行[0]。计数;i++)
{
表.行.添加(行[0][i]、行[1][i]、行[2][i]、行[3][i]、行[4][i]、行[5][i]、行[6][i]);
}
返回表;
}
私有列表GetColDefsFromBackend()
{
List cols=新列表();
cols.Add(“星期一”);
cols.Add(“星期二”);
加上“星期三”;
加上“星期四”;
加上(“星期五”);
加上(“星期六”);
加上(“星期日”);
返回cols;
}

我想补充的是,每一列的原始长度各不相同,因此在将列表转换为表格之前,我必须在列表中添加一些新的空项。+1:非常感谢您根据需要调整代码。:)你的回答很有帮助。非常感谢。
 private System.Data.DataTable CreateDataTable(List<string> columnDefinitions, List<List<string>> rows)
    {
        DataTable table = new DataTable();

        foreach (string colDef in columnDefinitions)
        {
            DataColumn column;
            column = new DataColumn();
            column.DataType = typeof(string);
            column.ColumnName = colDef;
            table.Columns.Add(column);
        }

        for (int i = 0; i < rows[0].Count; i++)
        {
            table.Rows.Add(rows[0][i], rows[1][i], rows[2][i], rows[3][i], rows[4][i], rows[5][i], rows[6][i]);
        }
        return table;
    }

    private List<string> GetColDefsFromBackend()
    {
        List<string> cols = new List<string>();
        cols.Add("Monday");
        cols.Add("Tuesday");
        cols.Add("Wednesday");
        cols.Add("Thursday");
        cols.Add("Friday");
        cols.Add("Saturday");
        cols.Add("Sunday");
        return cols;
    }