2013-05-02 1 views
0

나는 prob가있다. 나는 회사의 직원들의 지불 세부 사항을 저장하기 위해 창문 양식을 만들었고 내 양식의 "데이터 그리드보기"와 그 안에 콤보 상자가 있습니다. "지불"(그리드 ​​안의 두 가지 값 1.Paid 2. 보류 중) 그의 이름이 다시 표시되지 않고 올바르게 작동합니다 ... 다중 사용자의 경우 사용자 A가 일부 사람에게 돈을 지불하면 내 눈금에서 제거되지만 두 번째 사람에서는 제거되지 않습니다. 사용자 (사용자 B라고 함)는 유료 사용자가 User-B의 DataGridview에 표시된다는 의미입니다. 해결책이 있습니까? pls 도와주세요다중 사용자의 경우 datagridview를 새로 고치거나 업데이트하는 방법은 무엇입니까?

+0

귀하의 문제는 공동의 문제입니다. 몇 가지 변형 된 솔루션이 있지만 여전히 현재 아키텍트의 소프트웨어에 의존합니다. 시스템에 연결하는 모든 클라이언트에 브로드 캐스트 이벤트를 작성해야합니다. 모든 클라이언트에게 이벤트를 브로드 캐스트하거나 알리려면 트랜잭션 관리자가 필요합니다. –

답변

0

가장 좋은 방법은 DataBridView를 DataBase에 바인딩하는 것입니다. DataTable에 으로 OleDbDatAdapter의 업데이트 함수를 호출하여

  1. 변경이 automically 데이터베이스에 될 DataGridView에있는 사용자가 을했다 : 이것은 그 두 가지를 의미하는 것입니다 자동으로 업데이트를 할 것입니다 dAdapter.Update (dTable)를 수행하기위한 인수로;
  2. 데이터 소스 (데이터베이스)의 내용이 변경되면 DataGridView에서 변경 사항을 업데이트하는 가장 간단한 방법은 해당 데이터 소스를 지우고 데이터 소스를 사용하여 리바운드하는 것입니다.

과 같이 코딩 : source

private void button1_Click(object sender, EventArgs e) 
    { 
     dataGridView1.DataSource = null; //clear its DataSource 
     dataGridView1.DataSource = oTable; //rebound with the DataSource 
    } 

좋은 How do I update changes in a datagridview back to the database?

관련 문제