public static DataTable ToDataTable(this IEnumerable en, JQAutoComplete autoComplete)
 {
     return(IEnumerableExtensions.ToDataTable(en,
                                              new JQGrid()
     {
         Columns =
         {
             new JQGridColumn()
             {
                 DataField = autoComplete.DataField
             }
         }
     }
                                              ));
 }
        public static DataTable ToDataTable(this IEnumerable en, JQGrid grid)
        {
            DataTable dataTable = new DataTable();
            DataView  dataView  = en as DataView;

            if (dataView != null)
            {
                dataTable = dataView.ToTable();
            }
            else if (en != null)
            {
                dataTable = IEnumerableExtensions.ObtainDataTableFromIEnumerable(en, grid);
            }
            return(dataTable);
        }
        public static List <string> ToListOfString(this IEnumerable en, JQAutoComplete autoComplete)
        {
            DataTable     dataTable  = IEnumerableExtensions.ToDataTable(en, autoComplete);
            List <string> list       = new List <string>();
            IEnumerator   enumerator = dataTable.Rows.GetEnumerator();

            try {
                while (enumerator.MoveNext())
                {
                    DataRow row = (DataRow)enumerator.Current;
                    if (string.IsNullOrEmpty(list.Find((Predicate <string>)(s => s == row[autoComplete.DataField].ToString()))))
                    {
                        list.Add(row[autoComplete.DataField].ToString());
                    }
                }
            } finally {
                IDisposable disposable = enumerator as IDisposable;
                if (disposable != null)
                {
                    disposable.Dispose();
                }
            }
            return(list);
        }