[問題] C++/CLI for each迴圈與datagridview顯示

看板C_and_CPP (C/C++)作者 (MF)時間16年前 (2009/06/04 14:12), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
各位大大好~ 小弟最近用VC++ 2005的 C++/CLI 寫一個能夠讀取XML檔案的API 這API已經能夠讀取XML的檔案 並且將檔案內容顯示在DataGridView上 我再來想要將重複出現的資料內容篩選去除 只讓資料出現過一次不再重複 目前遇到個問題 是在建置方案時沒有錯誤 但是在程式執行那個函式的時候 會出現一個"ArgumentOutOfRangeException未處理"的警告 且AP就停止運行了 請問有神人大大可以幫小弟解決這個問題嗎? 以下是那個有問題的API它的程式碼: void Formgs() { if (!xmldata) { FormLoad(); //讀取XML檔案的函式 } DataGridView^ view = this->dataGridView; view->Rows->Clear(); view->ColumCount = 1; this->dataGridView->Colums[0]->Name = L"Number-ID"; XmlNodeList^ xnl = xmldata->DocumentElement->SelectNodes( "/xmldata/layer/base/Req/param"); for each (XmlNode^ xn in xnl) { XmlNode^ sidNode = xn->ParentNode->SelectSingleNode("param[@SEMANTIC='Number-ID']"); int rowNo = view->Rows->Add(); String^ sidcode = sidNode->SelectSingleNode("CODED")->InnerText; int fsid = Convert::ToUnt32(sidcode); view->Rows[rowNo]->Cells[0]->Value = Convert::ToString(fsid, 16); //以下if判別式就是有警告問題的地方 if (view->Rows[rowNo]->Cells[0]->Value == view->Rows[--rowNo]->Cells[0]->Value) { view->Rows->RemoveAt(rowNo); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.22.78
文章代碼(AID): #1A9sMx0A (C_and_CPP)
文章代碼(AID): #1A9sMx0A (C_and_CPP)