Reputation: 148
This is the data grid view form, where the 2nd form will show up when Add Member button is clicked.
private void btnAddMember_Click(object sender, EventArgs e)
{
Cashier_NewMember F_Cashier_NewMember = new Cashier_NewMember();
F_Cashier_NewMember.Show();
}
This is the form where I'll be inserting the member details.
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();
}
This is the code I used to fill up the data gird view
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();
}
This is the stored procedure code I used to search and fill the data grid view.
CREATE PROCEDURE [dbo].[ViewOrSearchMembership]
@Member_ID VARCHAR(10)
AS
SELECT *
FROM Member
WHERE Member_ID LIKE @Member_ID + '%'
I've tried adding the FillDataGridView() everywhere, but the data grid view is still not updating.
Upvotes: 1
Views: 87
Reputation: 81
Try this after assigned data source, dgvMembershipDetails.update()
Upvotes: 2
Reputation: 73
make sure you dgvMembershipDetails modifiers was public then try to clear datagridview before fill it
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();
}
Upvotes: 1
Reputation: 81
dgvMembershipDetails.Databind() you should be place after assign the datasource line.
Upvotes: 1