2017-12-21 29 views
0

를 사용하여 데이터 집합 된 DataGridView에서 셀 :자동 완성은 I는 데이터 세트에서 채워 DataGridView에있는 C 번호

dataGridView1.DataSource = aSH_ORDER_DBDataSet.ASH_PROD_ORDERS; 

DataGridView에 새로운 엔트리를 그 셀을 갖는 것이 가능하다 부가 자동 완성 또는 제안에 기초 해당 열의 다른 셀 내용?

나는 이것을 찾으려고했지만 내가 발견 한 모든 것은 텍스트 박스를위한 것이고 나에게 의미가 없다.

답변

0

좋습니다. 알아 냈습니다.

이 부분적으로 내 특정 사용을 위해 나에 의해 다른 곳에서 잡고 편집 :

이 코드는 편집중인 현재 열에서 데이터를 잡고, 그 열을 기준으로 자동 완성 답변을 제안합니다.

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) 
    { 
      TextBox autoText = e.Control as TextBox; 
      if (autoText != null) 
      { 
       autoText.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
       autoText.AutoCompleteSource = AutoCompleteSource.CustomSource; 
       AutoCompleteStringCollection DataCollection = new AutoCompleteStringCollection(); 
       addItems(DataCollection); 
       autoText.AutoCompleteCustomSource = DataCollection; 
      } 
    } 

    public void addItems(AutoCompleteStringCollection col) 
    { 
     var selectedColumn = dataGridView1.CurrentCell.ColumnIndex; 

     List<string> headerList = new List<string>(); 
     foreach (DataRow row in aSH_ORDER_DBDataSet.ASH_PROD_ORDERS.Rows) 
     { 
      headerList.Add(row[selectedColumn].ToString()); 
     } 

     List<string> cleanHeaderList = headerList.Distinct().ToList(); 
     foreach (var item in cleanHeaderList) 
     { 
      col.Add(item); 
     } 
    }