C# InvalidArgument=的值';3';对';无效;行索引';
这是我的代码,如果1个终端有3个服务,但它不工作超过3个服务,当我这样做时,我得到以下错误消息: InvalidArgument=值“3”对“rowIndex”无效 我很想找出这个问题,但找不到任何解决办法。 任何人都可以帮助我C# InvalidArgument=的值';3';对';无效;行索引';,c#,C#,这是我的代码,如果1个终端有3个服务,但它不工作超过3个服务,当我这样做时,我得到以下错误消息: InvalidArgument=值“3”对“rowIndex”无效 我很想找出这个问题,但找不到任何解决办法。 任何人都可以帮助我 MySqlCommand command = new MySqlCommand("VTerminalsLoad");//Procedure MySqlDataAdapter terminalAdapter = this.Database.ExecuteCommand(c
MySqlCommand command = new MySqlCommand("VTerminalsLoad");//Procedure
MySqlDataAdapter terminalAdapter = this.Database.ExecuteCommand(command);
terminalAdapter.Fill(dataSet, "Terminals");
command = new MySqlCommand("VTServicesLoad");//Procedure
command.Parameters.Add(new MySqlParameter("pVesselID", 1));
MySqlDataAdapter serviceAdapter = this.Database.ExecuteCommand(command);//Return Adaptor
serviceAdapter.Fill(dataSet, "Services");
DataColumn[] parentColumns = { dataSet.Tables[0].Columns["SerialNo"],
dataSet.Tables[0].Columns["VesselID"],
dataSet.Tables[0].Columns["TerminalID"] };
DataColumn[] childColumns = { dataSet.Tables[1].Columns["SerialNo"],
dataSet.Tables[1].Columns["VesselID"],
dataSet.Tables[1].Columns["TerminalID"] };
DataRelation relationTS = new DataRelation("TerminalsServices", parentColumns, childColumns);
dataSet.Relations.Add(relationTS);
//Parent Table
ListTerminal.DataSource = dataSet; //ListTerminal Parent datagridview
ListTerminal.DataMember = "Terminals";
//Child Table
ListServices.DataSource = dataSet;// ListServices Child datagridview
ListServices.DataMember = "Terminals.TerminalsServices";
看
以下情况下会出现此问题:
1.DataGridView绑定到DataRelation
2.您尝试在“BindingCompleted”之前将第一行中的DataGridViewCell设置为只读(例如:datagridview的RowsAdded事件)
您可以通过将只读设置操作延迟到绑定完成来解决此问题
希望这能对您有所帮助。您是否在以零为基础的3项集合中使用“3”,其中索引为0、1和2,但不是3?您在哪一行收到此异常?您提供的链接需要登录。。。喝倒采