2016-10-22 7 views
0

데이터를 즉시 표시하는 방법 삽입 또는 업데이트되는 데이터 표식보기 나는삽입 또는 업데이트 후 DataGridview를 표시하는 방법

private void UpdateDebtbutton_Click(object sender, EventArgs e) { SqlConnection conn = ForConnection(); conn.Open(); using (conn) { if (paytextBox.Text != "") { SqlCommand cmd = new SqlCommand("spdebth", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@id", SqlDbType.Int).Value =customerIDTextBox.Text.ToString(); cmd.Parameters.Add("@text", SqlDbType.Int).Value = paytextBox.Text.ToString(); cmd.ExecuteNonQuery(); MessageBox.Show("Record updated"); spSelectAllCustomerDataGridView.Update(); spSelectAllCustomerDataGridView.Refresh(); conn.Close(); } } }

+0

데이터 소스를 다시 설정하십시오. – Berkay

+0

@Berkay Thank You Dear 그 일에 지금 감사하십시오. –

+0

DatatGridView의 DataTable을 사용하여 dataTable.AcceptChanges()를 시도한 적이 있습니까? – JohnG

답변

0

RefreshUpdate 방법은 데이터를 갱신하는 데 사용되지 않습니다 나를 위해 작업) (Data.I가 업데이트를 사용했다는 그리고 새로 고침()하지만보기 위해 프로젝트를 시작 다시해야 그러나 WinForms 통제를 다시 칠하십시오.

가있는 DataGridView에 업데이트 된 데이터를 표시하는 몇 가지 방법이 있습니다 : 데이터 소스로 사용 BindingList

  1. 을, 그러나 이것은 DataSource
  2. 수동
  3. 리 바인드 DataGridViewINotifyPropertyChanged
  4. 업데이트 행을 구현하는 객체를 요구한다

아래는 세 번째 예입니다 :

private void UpdateDebt(int customerId, int debt) 
{ 
    var debts = (List<Debt>)spSelectAllCustomerDataGridView.DataSource; 
    var item = debts.First(x => x.Id == customerId); 
    item.Debt = debt; 

    spSelectAllCustomerDataGridView.DataSource = null; 
    spSelectAllCustomerDataGridView.DataSource = debts; 
} 

변경 사항을 표시하려면 DataGridView을 다시 바인딩해야합니다.

관련 문제