使用DataGrid视图时,索引超出了数组的边界
本文关键字:数组 边界 索引 DataGrid 视图 使用 | 更新日期: 2023-09-27 18:28:02
我正试图将数组直接绑定到网格视图控件,在那里我试图显示网格视图控件的详细信息。
我已经尝试了下面的代码,但它出现了一些错误。请帮我找到合适的解决方案。非常感谢。
代码:
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);
int x, y;
DataTable dt3 = new DataTable();
dt3 = cd.GetTeam();
y = dt3.Rows.Count;
x = dt.Rows.Count;
DataTable dt2 = new DataTable();
dt2 = cd.GetAssignTeam(x);
string[] strArr = new string[dt.Rows.Count];
int i = 0;
testc:
foreach (DataRow r in dt2.Rows)
{
strArr[i] = r["Team"].ToString();
i++;
if (i >= x - 1)
{
break;
}
if (i >= y)
{
goto testc;
}
}
GridView2.DataSource = strArr[i];
GridView2.DataBind();
}
GridView2.DataSource = strArr[i];
此行可能会产生错误,对吗?这是因为您在最后一次迭代中将i
递增为dt2.Rows.Count + 1
写入此
if (i > 0) GridView2.DataSource = strArr[i - 1];
作为最后一行。