C# 在容器中找不到数据项。容器必须实现IDataItemContainer,或者具有名为DataItem的属性

C# 在容器中找不到数据项。容器必须实现IDataItemContainer,或者具有名为DataItem的属性,c#,asp.net,arrays,gridview,C#,Asp.net,Arrays,Gridview,我正在尝试将字符串数组绑定到网格视图。使用下面显示错误的给定代码时,“在容器中找不到数据项。容器必须实现IDataItemContainer,或具有名为DataItem的属性。”请帮助我找到正确的解决方案。多谢各位 代码: protectedvoid ddlcirle\u SelectedIndexChanged(对象发送方,事件参数e) { ShadingAnalysisDataSetTableAdapters.tbl_cadengineers团队表格适配器cd; cd=新的ShadingAn

我正在尝试将字符串数组绑定到网格视图。使用下面显示错误的给定代码时,
“在容器中找不到数据项。容器必须实现IDataItemContainer,或具有名为DataItem的属性。”
请帮助我找到正确的解决方案。多谢各位

代码:

protectedvoid ddlcirle\u SelectedIndexChanged(对象发送方,事件参数e)
{
ShadingAnalysisDataSetTableAdapters.tbl_cadengineers团队表格适配器cd;
cd=新的ShadingAnalysisDataSetTableAdapters.tbl_cadengineeringersTeamTableAdapter();
DataTable dt=新的DataTable();
dt=cd.GetAvailableData(ddlCircle.SelectedValue);//获取未分配站点的详细信息
int x,y;//z;
DataTable dt3=新的DataTable();
dt3=cd.GetTeam();
y=dt3.Rows.Count;
x=dt.Rows.Count;//计算未指定的站点
DataTable dt2=新的DataTable();
dt2=cd.GetAssignTeam(x);//基于计数获取团队
string[]arr=新字符串[dt2.Rows.Count];
int i=0;
foreach(dt2.Rows中的数据行r)
{
arr[i]=r[“Team”].ToString();//将可用的团队分配给数组
i++;
}
string[]strArr=新字符串[100];//要复制arr值的另一个数组。
i=0;int j=0;

虽然(j定义GridView的列,使其绑定到您的
数据表的
团队
列,并将
数据表
直接分配到
GridView
作为
数据源
。然后
数据绑定到
数据表
定义GridView的列,使其绑定到
团队ode>列,并将
DataTable
直接分配给
GridView
作为
DataSource
。然后将
DataBind
分配给
DataTable
将数组绑定到DataGrid就像把香蕉放在蛋盘里一样。请您必须根据datagri绑定一个具有结构的源d、 正如@Konstantin d-Infragistics所建议的那样,将数组绑定到DataGrid就像把香蕉放在蛋盘里一样。请您必须根据DataGrid绑定一个具有结构的源。正如@Konstantin d-Infragistics所建议的那样,现在gridview显示strArr[j]数组值

protected void ddlCircle_SelectedIndexChanged(object sender, EventArgs e)
{
    ShadingAnalysisDataSetTableAdapters.tbl_CadEngineersTeamTableAdapter cd;
    cd = new ShadingAnalysisDataSetTableAdapters.tbl_CadEngineersTeamTableAdapter();
    DataTable dt = new DataTable();
    dt = cd.GetAvailableData(ddlCircle.SelectedValue); // Getting details of unassigned site

    int x, y; //z;

    DataTable dt3 = new DataTable();
    dt3 = cd.GetTeam();
    y = dt3.Rows.Count;

    x = dt.Rows.Count; // counting the unassinged sites

    DataTable dt2 = new DataTable();
    dt2 = cd.GetAssignTeam(x);           //Getting team based on count

    string[] arr = new string[dt2.Rows.Count];
    int i = 0;
    foreach (DataRow r in dt2.Rows)
    {
        arr[i] = r["Team"].ToString(); // assigning available team to array
        i++;
    }

    string[] strArr = new string[x+1]; // another array to copy arr values.

    i = 0; int j = 0;
    while (j <= x)
    {
        strArr[j]=  arr[i] ; // copying the arr[] values into strArr[] based on count.
        i++;
        j++;

        if (i == 3)
        {
            i = 0;
        }
    }

    GridView2.DataSource = strArr;
    GridView2.DataBind();
}
protectedvoid ddlcirle\u SelectedIndexChanged(对象发送方,事件参数e)
{
ShadingAnalysisDataSetTableAdapters.tbl_cadengineers团队表格适配器cd;
cd=新的ShadingAnalysisDataSetTableAdapters.tbl_cadengineeringersTeamTableAdapter();
DataTable dt=新的DataTable();
dt=cd.GetAvailableData(ddlCircle.SelectedValue);//获取未分配站点的详细信息
int x,y;//z;
DataTable dt3=新的DataTable();
dt3=cd.GetTeam();
y=dt3.Rows.Count;
x=dt.Rows.Count;//计算未指定的站点
DataTable dt2=新的DataTable();
dt2=cd.GetAssignTeam(x);//基于计数获取团队
string[]arr=新字符串[dt2.Rows.Count];
int i=0;
foreach(dt2.Rows中的数据行r)
{
arr[i]=r[“Team”].ToString();//将可用的团队分配给数组
i++;
}
string[]strArr=新字符串[x+1];//另一个要复制arr值的数组。
i=0;int j=0;

而(j现在gridview显示strArr[j]数组值

protected void ddlCircle_SelectedIndexChanged(object sender, EventArgs e)
{
    ShadingAnalysisDataSetTableAdapters.tbl_CadEngineersTeamTableAdapter cd;
    cd = new ShadingAnalysisDataSetTableAdapters.tbl_CadEngineersTeamTableAdapter();
    DataTable dt = new DataTable();
    dt = cd.GetAvailableData(ddlCircle.SelectedValue); // Getting details of unassigned site

    int x, y; //z;

    DataTable dt3 = new DataTable();
    dt3 = cd.GetTeam();
    y = dt3.Rows.Count;

    x = dt.Rows.Count; // counting the unassinged sites

    DataTable dt2 = new DataTable();
    dt2 = cd.GetAssignTeam(x);           //Getting team based on count

    string[] arr = new string[dt2.Rows.Count];
    int i = 0;
    foreach (DataRow r in dt2.Rows)
    {
        arr[i] = r["Team"].ToString(); // assigning available team to array
        i++;
    }

    string[] strArr = new string[x+1]; // another array to copy arr values.

    i = 0; int j = 0;
    while (j <= x)
    {
        strArr[j]=  arr[i] ; // copying the arr[] values into strArr[] based on count.
        i++;
        j++;

        if (i == 3)
        {
            i = 0;
        }
    }

    GridView2.DataSource = strArr;
    GridView2.DataBind();
}
protectedvoid ddlcirle\u SelectedIndexChanged(对象发送方,事件参数e)
{
ShadingAnalysisDataSetTableAdapters.tbl_cadengineers团队表格适配器cd;
cd=新的ShadingAnalysisDataSetTableAdapters.tbl_cadengineeringersTeamTableAdapter();
DataTable dt=新的DataTable();
dt=cd.GetAvailableData(ddlCircle.SelectedValue);//获取未分配站点的详细信息
int x,y;//z;
DataTable dt3=新的DataTable();
dt3=cd.GetTeam();
y=dt3.Rows.Count;
x=dt.Rows.Count;//计算未指定的站点
DataTable dt2=新的DataTable();
dt2=cd.GetAssignTeam(x);//基于计数获取团队
string[]arr=新字符串[dt2.Rows.Count];
int i=0;
foreach(dt2.Rows中的数据行r)
{
arr[i]=r[“Team”].ToString();//将可用的团队分配给数组
i++;
}
string[]strArr=新字符串[x+1];//另一个要复制arr值的数组。
i=0;int j=0;

虽然(j strArr[j]它包含一组值,但如何将数组strArr绑定到GridView您无法绑定该数组。您需要一个DataItemContainer,因此不要创建数组,请创建一个DataTable,例如。strArr[j]它包含一组值,如何将数组strArr绑定到GridView您无法绑定数组。您需要DataItemContainer,因此不要创建数组,例如创建DataTable。