2013-05-30 7 views
0

제목이 약간 이상하다는 것을 알고 있습니다. 설명하겠습니다. 나는 두 개의 데이터베이스를 하나씩 합치려고 노력 중이다. 하나는 우리가 집에 있고 하나는 또 다른 시설에있다. 관리자 그룹이 별도의 양식을 통해 항목을 복제해야하는 것을 피하기위한 것이다. 오프 사이트 데이터베이스에 연결하는 웹 서비스 소스가 있으며 데이터를 입력 할 수 있습니다. 내가하려는 일은 우리 자신의 데이터베이스에 추가하고 데이터를 복사하여 확장하는 것입니다. 희망이 의미가 있습니다. 어쨌든한 형식에서 다른 형식으로 데이터 글보기 복사 시도

,

그래서 로컬 및 오프 사이트 형태 모두는 그들에 부착 datagridviews 있습니다. 현재 첫 번째 행의 내용을 입력 양식에 복사 할 수 있지만 두 번째 행으로 이동하려고하면 오류가 발생합니다. 나는 다음과 같은 오류가 나타납니다 코드를 실행하려고하면

Dim i As Integer 
     For i = 0 To VRMAdDataGridView.Rows.Count - 1 
      'For Each row As DataGridViewRow In VRMAdDataGridView.Rows 

      'myrow = VRMAdDataGridView.CurrentRow.Index 
      frmcall.dgvRMAItems.Rows(i).Cells("cItemID").Value = Me.VRMAdDataGridView.Rows(i).Cells("DataGridViewTextBoxColumn5").Value 
      frmcall.dgvRMAItems.Rows(i).Cells("cExpectedSerialNumber").Value = Me.VRMAdDataGridView.Rows(i).Cells("DataGridViewTextBoxColumn2").Value 
      frmcall.dgvRMAItems.Rows(i).Cells("cNotes").Value = Me.VRMAdDataGridView.Rows(i).Cells("DataGridViewTextBoxColumn3").Value 

      'Format Type codes from FW to match Utica 
      Select Case Me.VRMAdDataGridView.Rows(i).Cells("DataGridViewTextBoxColumn6").Value 
       Case "Repair" 
        frmcall.dgvRMAItems.Rows(i).Cells("cRequestedAction").Value = "Repair" 
       Case "RTS" 
        frmcall.dgvRMAItems.Rows(i).Cells("cRequestedAction").Value = "Rtn/Stock" 
       Case "Repair !!RUSH!!" 
        frmcall.dgvRMAItems.Rows(i).Cells("cRequestedAction").Value = "Rush Repair" 

      End Select 


      ' myrowval = row.Cells("DataGridViewTextBoxColumn5").Value 
      ' MsgBox(myrowval, MsgBoxStyle.Information, "Prod_Code") 
      'Do Something 
     Next 

: 여기 내 코드입니다.

가 { "인덱스가 범위를 벗어났습니다를 컬렉션의 크기보다 음이 아닌 및 작아야합니다 . 매개 변수 이름 : 인덱스 "}

답변

1

UI 요소 (이 경우 DataGridViews)가 아닌 기본 데이터 원본을 조작해야합니다. 예를 들어 DataSource는 DataTable입니다. 그런 다음 Clone 메소드를 사용하여 사본을 얻으십시오. 그런 다음 다른 DataGridView의 DataSource를 설정하십시오. 복사본 이상이 필요한 경우 일련의 DataRow 개체로 작업하는 것이 더 간단 할 것입니다.

+0

고마워요. 이 시점에서 데이터 테이블은 동일하지 않으며 오프 사이트 데이터베이스에 입력되는 방식을 준수하도록 로컬 사본에있는 데이터를 조작해야한다는 점을 언급해야합니다. –

+0

@DewaynePinion : 어느 것이 든 괜찮습니다. DataTable을 바인딩 할 필요는 없습니다. CSV 파일에서 채워 지거나, 기존 데이터에서 계산되거나 다른 방법으로 획득되는 데이터의 복사본을 나타낼 수 있습니다. – Neolisk

+0

감사합니다. Neolisk, 나는 내일 그것을 살펴보고 거기에서 업데이트 할 것입니다. :) –

관련 문제