我的应用程序出现问题,我正在尝试使用与我的应用程序的其他部分相同的代码用于新页面但我一直收到错误。这就是完全发生的事情:当你点击特定行的选择按钮执行以下代码时,我的网格视图“自动生成选择按钮”设置为“真”:
private void DisplayDetails()
{
int rowIndex = dtGridViewList.SelectedIndex;
GridViewRow Row = dtGridViewList.SelectedRow;
cmbCompany.SelectedValue = dtGridViewList.DataKeys[rowIndex].Values["CompanyID"].ToString();
cmbDept.SelectedValue = dtGridViewList.DataKeys[rowIndex].Values["DeptID"].ToString();
txtProject.Text = Row.Cells[1].Text;
cmbCompany.SelectedValue = Row.SelectedRow.Cells[2].Text;
cmbDept.SelectedValue = Row.Cells[3].Text;
txtStartDate.Text = Row.Cells[4].Text;
txtEndDate.Text = Row.Cells[5].Text;
cmbManager.SelectedValue = Row.Cells[6].Text;
cmbLocation.SelectedValue = Row.Cells[7].Text;
txtNotes.Text = Row.Cells[6].Text;
}
此功能在gridviews“SelectedIndexChanged”事件中执行:
protected void dtGridViewList_SelectedIndexChanged(object sender, EventArgs e)
{
if (dtGridViewList.SelectedIndex >= 0)
{
pnlProjectList.Enabled = true;
DisplayDetails();
}
else
{
System.Web.HttpContext.Current.Response.Write("<SCRIPT LANGUAGE='JavaScript'>alert('Not Selected!');</SCRIPT>");
}
}
然而,代码停止执行:
GridViewRow Row = dtGridViewList.SelectedRow;
错误:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
我在其他页面上使用了相同的代码,但它工作得非常好,所以我无法理解为什么它对他的页面不起作用。
答案 0 :(得分:0)
好的,谢谢大家的贡献,但我设法解决了这个问题。 这就是我之前所做的:
现在碰巧我因为第2步而遇到了这个问题,我仍然不知道为什么,因为我之前已经在其他页面上尝试过它而且效果很好。
这就是我为解决问题所做的工作:
这就是我为解决问题所做的工作,我想先了解一下为什么我会遇到这个问题。