Verileri, birleşik giriş kutusunda seçilen arabanın boyutuna bağlı olarak bir datagrid görünümünde görüntüleyecek kod yazmayı deniyorum. Bu kod başlangıçta çalıştırıldığında, varsayılan olarak büyüklükteki ekonomiye döner ve datagrid görünümünde doğru bilgileri görüntüler. Ancak, birleşik giriş kutusunda farklı bir boyut seçildiğinde, datagridview aynı kalırken metin kutuları doğru şekilde güncellenir. Açılan kutunun her değiştiğinde güncellenmesi için ne yapabilirim? "Private void cboSize_selectionChangeCommitted()" içindeki kodun bunu gerçekleştireceğini sanmıştım, ancak çıktıda hiçbir değişiklik yoktu.Birleşik kutu seçimini temel alan datagridview nasıl güncellenir?
namespace carForm
{
public partial class Form1 : Form
{
_Cars_1_DataSet cDataSet;
BindingSource sizeBindingSource;
BindingSource vehicleBindingSource;
CarsDataClass clsCarsData;
Boolean gridInitialized;
public Form1()
{
InitializeComponent();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the '_Cars_1_DataSet.Reservations' table. You can move, or remove it, as needed.
this.reservationsTableAdapter.Fill(this._Cars_1_DataSet.Reservations);
// TODO: This line of code loads data into the '_Cars_1_DataSet.Vehicle' table. You can move, or remove it, as needed.
this.vehicleTableAdapter.Fill(this._Cars_1_DataSet.Vehicle);
// TODO: This line of code loads data into the '_Cars_1_DataSet.CarSize' table. You can move, or remove it, as needed.
this.carSizeTableAdapter.Fill(this._Cars_1_DataSet.CarSize);
clsCarsData = new CarsDataClass();
cDataSet = clsCarsData.GetDataSet();
//Binding source sizes
sizeBindingSource = new BindingSource();
sizeBindingSource.DataSource = cDataSet;
sizeBindingSource.DataMember = "CarSize";
//Binding source vehicles
vehicleBindingSource = new BindingSource();
vehicleBindingSource.DataSource = cDataSet;
vehicleBindingSource.DataMember = "Vehicle";
//Combo box
cboSize.DataSource = sizeBindingSource;
cboSize.DisplayMember = "Size";
cboSize.ValueMember = "SizeCode";
//bind other controls
txtDaily.DataBindings.Add("text", sizeBindingSource, "DailyRate");
txtMileage.DataBindings.Add("text", sizeBindingSource, "MileageRate");
//execute combo box
cboSize_SelectionChangeCommitted(cboSize, e);
}
private void cboSize_SelectionChangeCommitted(object sender, EventArgs e)
{
string carSelected;
carSelected = Convert.ToString(cboSize.SelectedValue);
if (!gridInitialized)
{
dgvVehicles.DataSource = vehicleBindingSource;
gridInitialized = true;
ChangeGridColumns();
}
vehicleBindingSource.Filter = "CarSize = '" + carSelected + "'";
}
private void ChangeGridColumns()
{
//Change column headers
//dgvVehicles.Columns["Inv_ID"].Visible = false;
}
}
}
ile değiştirildi değişti İhtiyaç duydum, tıpkı @Wudge gibi, ama yanlış uygulamıştım. Olayı tasarım görünümünden oluşturmak yerine, elimle eklemek yerine sorunu çözdüm, teşekkür ederim. –