製品用に 1 つの datagridview とカテゴリ用に 1 つのコンボボックスがあり、コンボボックスの選択値を CategoryID に設定しました。
コンボボックスにカテゴリ名の最初の文字を入力して Enter キーを押すと、名前はコンボボックス内で完成しますが、データグリッドビューの相対フィールドはコンボの外をクリックするまで変更されません。
Enterキーを押すとデータグリッドビューで変更が実行されるようにする方法はありますか?保存ボタンをクリックすると直接変更を保存できます。
製品用に 1 つの datagridview とカテゴリ用に 1 つのコンボボックスがあり、コンボボックスの選択値を CategoryID に設定しました。
コンボボックスにカテゴリ名の最初の文字を入力して Enter キーを押すと、名前はコンボボックス内で完成しますが、データグリッドビューの相対フィールドはコンボの外をクリックするまで変更されません。
Enterキーを押すとデータグリッドビューで変更が実行されるようにする方法はありますか?保存ボタンをクリックすると直接変更を保存できます。
このようにして、グリッドビューは任意のソースから呼び出すことで満たすことができますFillGrid()
private void FilterComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
string selText = FilterComboBox.SelectedValue.ToString();
FillGrid(selText);
}
private void FillGrid(string filterValue = "0")
{
//GetDefaultValues(if filtervalue = 0)
//else GetValues(based On Selected category)
//Bind Values to Grid
}
次のイベントcboCategories_SelectedValueChangedを使用して、コンボオートコンプリートで「Enter」キーを押すと同時にProductbindingsourceのcategoryIDを更新できます。
private void cboCategories_SelectedValueChanged(object sender, EventArgs e)
{
int val = Convert.ToInt32(cboCategories.SelectedValue);
ModifGrid(val);
}
private void ModifGrid(int ModifiedValue)
{
if (Convert.ToInt32(productBindingSource.Count)>0)
{
((Product)productBindingSource.Current).CategoryID = ModifiedValue;
}
}
bindingsourceNavigatorの[保存]ボタンをクリックすると、変更がデータベースに保持されます。