私は食料品店や店のc# プロジェクトを作成しています。そして、セルを自動提案するようにプログラムしたデータグリッドがあり、正常に機能しています。
問題は 1 つだけです。データグリッド内の 1 つの列 (BARCODE 列など) を、すべての列ではなく自動提案のみのテキスト ボックスにしたい。
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
var source = new AutoCompleteStringCollection();
string cnn = (@"Data Source=TaLy-PC;Initial Catalog=dbMarketi;Integrated Security=True;Pooling=False");
SqlConnection connection = new SqlConnection(cnn.ToString());
SqlCommand command = new SqlCommand("Select Barcode FROM tblDepo", connection);
try
{
connection.Open();
{
SqlDataReader drd = command.ExecuteReader();
while (drd.Read())
{
// this.comboBoxEx1.Items.Add(drd.GetString(0).ToString());
source.AddRange(new string[] { drd.GetString(0).ToString() });
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
connection.Close();
TextBox dgvEditBox = e.Control as TextBox;
if (dgvEditBox != null)
{
dgvEditBox.AutoCompleteMode = AutoCompleteMode.Suggest;
dgvEditBox.AutoCompleteCustomSource = source;
dgvEditBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
}