这是我的代码它正在工作,如果1个终端有3个服务但是当我没有工作超过3个服务时,我有以下错误消息:
InvalidArgument ='3'的值对'rowIndex'
无效我已经厌倦了找到这个问题,但无法得到任何解决方案。 有人请帮助我。
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";
答案 0 :(得分:2)
在以下情况下会出现此问题: 1. DataGridView绑定到DataRelation 2.您尝试在“BindingCompleted”之前将第一行中的DataGridViewCell设置为ReadOnly(例如:On RowsAdded datagridview事件)
您可以通过将ReadOnly-Setting操作延迟到BindingCompleted
来解决此问题希望这可以帮到你。