2017-01-01 2 views
1

이 데이터 표보기 양식은 구성원 추가 단추를 클릭하면 두 번째 양식이 표시됩니다.다른 양식의 세부 정보를 삽입 한 후 DataGridView가 업데이트되지 않음 [C#]

private void btnAddMember_Click(object sender, EventArgs e) 
    { 
     Cashier_NewMember F_Cashier_NewMember = new Cashier_NewMember(); 

     F_Cashier_NewMember.Show(); 
    } 

이것은 회원 정보를 삽입하는 형식입니다.

private void btnAddMember_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      if (sqlCon.State == ConnectionState.Closed) 
       sqlCon.Open(); 

      if (btnAddMember.Text == "Add Member") 
      { 

       if (string.IsNullOrWhiteSpace(txtFirstName.Text) || string.IsNullOrWhiteSpace(txtLastName.Text) || string.IsNullOrWhiteSpace(txtMobileNo.Text) || string.IsNullOrWhiteSpace(txtHomeNo.Text) || string.IsNullOrWhiteSpace(txtAddress.Text) || string.IsNullOrWhiteSpace(txtPostcode.Text) || string.IsNullOrWhiteSpace(txtCity.Text) || string.IsNullOrWhiteSpace(txtCountry.Text)) 
        MessageBox.Show("All fields are required!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); 

       else if (string.IsNullOrWhiteSpace(txtMemberID.Text)) 
        MessageBox.Show("Please generate a Member ID!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); 

       else 
       { 
        SqlCommand sqlCmd = new SqlCommand("AddOrUpdateMembership", sqlCon); 
        sqlCmd.CommandType = CommandType.StoredProcedure; 
        sqlCmd.Parameters.AddWithValue("@mode", "Add"); 
        sqlCmd.Parameters.AddWithValue("@Member_ID", txtMemberID.Text); 
        sqlCmd.Parameters.AddWithValue("@Member_Since_Date", dtpMemberSince.Value.Date); 
        sqlCmd.Parameters.AddWithValue("@Title", cmbTitle.GetItemText(cmbTitle.SelectedItem)); 
        sqlCmd.Parameters.AddWithValue("@First_Name", txtFirstName.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@Last_Name", txtLastName.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@DOB", dtpDOB.Value.Date); 
        sqlCmd.Parameters.AddWithValue("@Gender", cmbGender.GetItemText(cmbGender.SelectedItem)); 
        sqlCmd.Parameters.AddWithValue("@Mobile_No", cmbMobileNo.GetItemText(cmbMobileNo.SelectedItem) + txtMobileNo.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@Home_No", cmbHomeNo.GetItemText(cmbHomeNo.SelectedItem) + txtHomeNo.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@House_Address", txtAddress.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@Post_Code", txtPostcode.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@City", txtCity.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@City_State", txtState.Text.Trim()); 
        sqlCmd.Parameters.AddWithValue("@Country", txtCountry.Text.Trim()); 

        sqlCmd.ExecuteNonQuery(); 
    } 

내가 데이터 그리드의보기

public void FillDataGridView() 
    { 
     Cashier_NewMember F_Cashier_NewMember = new Cashier_NewMember(); 

     if (sqlCon.State == ConnectionState.Closed) 
      sqlCon.Open(); 

     SqlDataAdapter sqlDa = new SqlDataAdapter("ViewOrSearchMembership", sqlCon); 
     sqlDa.SelectCommand.CommandType = CommandType.StoredProcedure; 
     sqlDa.SelectCommand.Parameters.AddWithValue("@Member_ID", F_Cashier_NewMember.txtMemberID.Text); 
     DataTable dtbl = new DataTable(); 
     sqlDa.Fill(dtbl); 
     dgvMembershipDetails.DataSource = dtbl; 

     sqlCon.Close(); 
    } 

이 내가 검색하고 데이터 그리드 뷰를 채우는 데 사용되는 저장 프로 시저 코드를 채우기 위해 사용되는 코드입니다.

CREATE PROCEDURE [dbo].[ViewOrSearchMembership] 
    @Member_ID VARCHAR(10) 
AS 
    SELECT * 
    FROM Member 
    WHERE Member_ID LIKE @Member_ID + '%' 

나는 FillDataGridView()를 사방 추가하는 시도했지만, 데이터 그리드보기는 아직 업데이트되지 않습니다.

+0

어떻게/어디는 데이터 테이블 후를 보충하는 당신은 추가 또는 업데이트합니다. 당신이 수동으로하고 있기 때문에, 당신은 테이블 – Plutonix

+0

에 먼저 붙들지 않았기 때문에 자동적으로 DGV에 나타나지 않을 것입니다 : 데이터가 "멤버"테이블에 삽입되었는지 확인하십시오. 데이터가 삽입되었는지 말해주세요. –

+0

@Plutonix erm, 추가 버튼을 클릭 한 후 두 양식 모두를 다시 채우려고했습니다. –

답변

2

이 후 할당 된 데이터 소스, dgvMembershipDetails.update을 시도()

1

dgvMembershipDetails.Databind() 데이터 소스 라인을 지정한 후에 배치해야합니다.

+0

'DataGridView'에는 그런 방법이 없습니다. – Plutonix

1

반드시 dgvMembershipDetails 수정 그 전에 채우기 명확 DataGridView를하려고 공개했다 만들어 그것을

public void FillDataGridView(){ 
    Cashier_NewMember F_Cashier_NewMember = new Cashier_NewMember(); 

    if (sqlCon.State == ConnectionState.Closed) 
     sqlCon.Open(); 

    SqlDataAdapter sqlDa = new SqlDataAdapter("ViewOrSearchMembership", sqlCon); 
    sqlDa.SelectCommand.CommandType = CommandType.StoredProcedure; 
    sqlDa.SelectCommand.Parameters.AddWithValue("@Member_ID", F_Cashier_NewMember.txtMemberID.Text); 
    DataTable dtbl = new DataTable(); 
    sqlDa.Fill(dtbl); 
    dgvMembershipDetails.DataSource =null; 
    dgvMembershipDetails.DataSource = dtbl; 

    sqlCon.Close(); 
}