【发布时间】:2021-05-13 18:38:41
【问题描述】:
我正在尝试根据在带有Suggestappend 的文本框中输入的值更改datagridview 行选择。我的自动完成字符串集合是在我的数据网格列引用中获取的。
自动完成字符串集合的代码
AutoCompleteStringCollection referenceCollection = new AutoCompleteStringCollection();
int indexOfYourColumn = 1;
IList list = dgvScriptures.Rows;
referenceCollection.Clear();
for (int i = 0; i < list.Count; i++)
{
DataGridViewRow row = (DataGridViewRow)list[i];
data = row.Cells[indexOfYourColumn].Value.ToString();
referenceCollection.Add(data.ToString());
}
在文本框中输入时,值被附加但datagridview选择没有改变
private void txtSearchReference_TextChanged(object sender, EventArgs e)
{
try
{
txtSearchReference.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
txtSearchReference.AutoCompleteSource = AutoCompleteSource.CustomSource;
txtSearchReference.AutoCompleteCustomSource = referenceCollection;
if (txtSearchReference.Text != string.Empty)
{
int rowIndex = -1;
DataGridViewRow row = dgvScriptures.Rows
.Cast<DataGridViewRow>()
.Where(r => r.Cells[1].Value.ToString().Contains(txtSearchReference.Text))
.FirstOrDefault();
rowIndex = row.Index;
dgvScriptures.Rows[rowIndex].Selected = true;
}
}
catch (Exception autocomplete)
{
MessageBox.Show(autocomplete.ToString());
}
}
【问题讨论】:
-
我会尝试阅读它。谢谢
标签: c# datagridview