안녕하세요 C# 독학중인 직장인입니다. 고수 형님들의 지식을 공유받고자 글을 올립니다…
C# datagridview editingControlShowing 으로 자동완성 기능을 사용하고있는데
cell을 수정하면 이벤트가 실행되는데 이벤트를 발생하게 했더 입력문자는 반영되지 않은채
이벤트가 실행될때 이 입력문자까지 반영하고 자동완성 필터를 사용하고 싶습니다.
다른 이벤트를 이용할 때 DatagridviewCell를 Textbox로 선언해서 사용할 수 있는 방법 또는
editingControlShowing 이벤트에서 입력한 문자까지 반영하여 사용할 수 있는 방법을 알고싶습니다.
(EndEdit() 명령어는 입력 커서가 자꾸 없어지고 cell자체가 수정 완료되서 사용할 수 없어요.)
//자동완성 드롭박스
private void dgvBusiness_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox autoText = e.Control as TextBox;
if (titleText.Equals("company"))
{
if (autoText != null)
{
autoText.AutoCompleteMode = AutoCompleteMode.Suggest;
autoText.AutoCompleteSource = AutoCompleteSource.CustomSource;
AutoCompleteStringCollection DataCollection = new AutoCompleteStringCollection();
addCompanyItems(DataCollection);
autoText.AutoCompleteCustomSource = DataCollection;
}
else
{
autoText.AutoCompleteMode = AutoCompleteMode.None;
autoText.AutoCompleteSource = AutoCompleteSource.None;
autoText.AutoCompleteCustomSource = null;
}
}