Asp.net 基于列表的可编辑网格视图

Asp.net 基于列表的可编辑网格视图,asp.net,list,gridview,Asp.net,List,Gridview,是否可以基于列表创建gridview?我有以下清单: ID = 1 Name = John Zip = 33141 ID = 2 Name = Tim Zip = 33139 我希望能够使用此列表创建一个可编辑的gridview 当我将它绑定到网格视图时,它似乎将所有内容都放在一列中,而我不知道如何将其拆分为不同的列 下面是我设置GridView的DataSource的代码: DataTable table = ConvertListToDataTable(personList); Grid

是否可以基于列表创建gridview?我有以下清单:

ID = 1
Name = John
Zip = 33141
ID = 2
Name = Tim
Zip = 33139
我希望能够使用此列表创建一个可编辑的gridview

当我将它绑定到网格视图时,它似乎将所有内容都放在一列中,而我不知道如何将其拆分为不同的列

下面是我设置
GridView
DataSource
的代码:

DataTable table = ConvertListToDataTable(personList); 
GridView1.DataSource = table; 
GridView1.DataBind(); 

static DataTable ConvertListToDataTable(List<string> list) 
{ 
    // New table. 
    DataTable table = new DataTable(); 

    // Get max columns. 
    int columns = 7; 

    // Add columns. 
    for (int i = 0; i < columns; i++) 
    { 
        table.Columns.Add(); 
    } 

    // Add rows. 
    foreach (var rd in list) 
    { 
        table.Rows.Add(rd); 
    } 

    return table; 
}
DataTable=ConvertListToDataTable(personList);
GridView1.DataSource=表格;
GridView1.DataBind();
静态数据表ConvertListToDataTable(列表)
{ 
//新桌子。
DataTable=新的DataTable();
//获取最大列数。
int列=7;
//添加列。
对于(int i=0;i
以下是一个示例:

    private class Person
    {
        int m_iID;
        string m_sName;
        string m_sZip;

        public int ID { get { return m_iID; } }
        public string Name { get { return m_sName; } }
        public string Zip { get { return m_sZip; } }

        public Person(int iID, string sName, string sZip)
        {
            m_iID = iID;
            m_sName = sName;
            m_sZip = sZip;
        }
    }

    private List<Person> m_People;

    private void ConvertListToDataTable(List<Person> People)
    {
        DataTable table = new DataTable();

        DataColumn col1 = new DataColumn("ID");
        DataColumn col2 = new DataColumn("Name");
        DataColumn col3 = new DataColumn("Zip");

        col1.DataType = System.Type.GetType("System.String");
        col2.DataType = System.Type.GetType("System.String");
        col3.DataType = System.Type.GetType("System.String");

        table.Columns.Add(col1);
        table.Columns.Add(col2);
        table.Columns.Add(col3);


        foreach (Person person in People)
        {
            DataRow row = table.NewRow();
            row[col1] = person.ID;
            row[col2] = person.Name;
            row[col3] = person.Zip;

            table.Rows.Add(row);
        }            

        GridView1.DataSource = table;
        GridView1.DataBind();
    }
私人阶级人士
{
国际货币联盟;
字符串m_sName;
字符串m_sZip;
公共int ID{get{return m_iID;}
公共字符串名称{get{return m_sName;}}
公共字符串Zip{get{return m_sZip;}}
公众人士(国际iID、字符串sName、字符串sZip)
{
m_iID=iID;
m_sName=sName;
m_sZip=sZip;
}
}
私人名单m_人;
私有void ConvertListToDataTable(列出人员)
{
DataTable=新的DataTable();
DataColumn col1=新的DataColumn(“ID”);
DataColumn col2=新的DataColumn(“名称”);
DataColumn col3=新的DataColumn(“Zip”);
col1.DataType=System.Type.GetType(“System.String”);
col2.DataType=System.Type.GetType(“System.String”);
col3.DataType=System.Type.GetType(“System.String”);
表.Columns.Add(col1);
表2.Columns.Add(col2);
表1.Columns.Add(col3);
foreach(人对人)
{
DataRow行=table.NewRow();
行[col1]=person.ID;
行[col2]=个人名称;
row[col3]=person.Zip;
table.Rows.Add(行);
}            
GridView1.DataSource=表格;
GridView1.DataBind();
}

如何在单独的类文件中创建Person类,并在表单的代码隐藏中使用它?添加新项->代码->类。然后创建/移动Person类到其中。在表单代码隐藏文件中,使用带有“Using ProjectNamespace.Folder”的类文件。例如,如果类文件位于App_Code文件夹中:使用ProjectNamespace.App_Code。如果回答了您的问题,请确保选择此答案!嘿,有可能做到以下几点吗?我用person创建了一个类文件,现在我希望能够获得这样的列表:testList=testList=ID=1 Name=john Zip=33141 ID=2 Name=tim Zip=33139我不知道这样做是否正确,但person prs=new person();列出m_人;foreach(testList中的string txt){//我想做这样的事情,所以我可以通过向该对象传递一个类似这样的现有列表来动态设置每个变量//并动态设置变量prs。[txt]=txt;}抱歉,我不太明白您想做什么。创建一个新问题并将其链接到此处。或者编辑上面的问题,以举例说明您正试图完成的任务。