簡體   English   中英

InvalidArgument =值'3'對於'rowIndex'無效

[英]InvalidArgument=Value of '3' is not valid for 'rowIndex'

這是我的代碼,它適用於如果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";

請參閱http://connect.microsoft.com/VisualStudio/feedback/details/116413/datagridview-exception-with-readonly-cells

在以下情況下會出現此問題:1.將DataGridView綁定到DataRelation 2.您嘗試將第一行中的DataGridViewCell設置為“ BindingCompleted”之前的ReadOnly(例如,在DataGriddview的On Attach Transactions事件中)

您可以通過將ReadOnly-Setting操作延遲到BindingCompleted來解決此問題。

希望這可以幫到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM