Example #1
0
        private void myDataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            DataTable dt       = (DataTable)myDataGridView1.DataSource;
            string    colName  = dt.Columns[myDataGridView1.CurrentCell.ColumnIndex].ColumnName;
            int       indexrow = myDataGridView1.CurrentCell.RowIndex;
            string    name     = "";
            string    model    = "";
            string    str      = "";
            string    text     = (e.Control as TextBox).Text;

            foreach (Map map in param.Maps)
            {
                if (map.Value == colName)
                {
                    str = map.Name;
                }
                if (map.Name.Equals("cInvName"))
                {
                    if (dt.Rows.Count > indexrow)
                    {
                        name = dt.Rows[indexrow][map.Value].ToString();
                    }
                }
                else if (map.Name.Equals("cInvStd"))
                {
                    if (dt.Rows.Count > indexrow)
                    {
                        model = dt.Rows[indexrow][map.Value].ToString();
                    }
                }
            }
            DataGridViewTextBoxEditingControl editingControl = e.Control as DataGridViewTextBoxEditingControl;

            editingControl.AutoCompleteCustomSource.Clear();
            if (str.Equals("cInvName"))
            {
                if (!model.Equals(""))
                {
                    sqlProcessor.GetNameAndModel(text, model, out newnames, out newmodels);
                    if (newnames != null)
                    {
                        editingControl.AutoCompleteCustomSource.AddRange(newnames);
                    }
                }
                else
                {
                    if (names != null)
                    {
                        editingControl.AutoCompleteCustomSource.AddRange(names);
                    }
                }
            }
            else if (str.Equals("cInvStd"))
            {
                if (!name.Equals(""))
                {
                    newmodels = sqlProcessor.GetModel(name);
                    if (newmodels != null)
                    {
                        editingControl.AutoCompleteCustomSource.AddRange(newmodels);
                    }
                }
                else
                {
                    if (models != null)
                    {
                        editingControl.AutoCompleteCustomSource.AddRange(models);
                    }
                }
            }
            editingControl.AutoCompleteMode   = AutoCompleteMode.SuggestAppend;
            editingControl.AutoCompleteSource = AutoCompleteSource.CustomSource;
        }