私は、SQLテーブルからバインドするデータグリッドビューを持っています。そのdvには、Id、Name、Priceという属性があります。 Name ColumnsのSortModeをAutomaticに設定し、この列のヘッダーをクリックすると、Nameの最初の文字に基づいてこのdvを並べ替えることができます。これにより、最初の文字(Acumulator、Boat、コカコーラ、エンジンなど)。
[名前]列のヘッダーをクリックせずにこのことを行う方法はありますか。フォームがロードされるときにこの仕事をするコードを探しています。
DataGridViewには「Sort」というメソッドがあります。
this.dataGridView1.Sort(this.dataGridView1.Columns["Name"], ListSortDirection.Ascending);
これにより、プログラムでデータグリッドビューがソートされます。
dataGridView1.Sort(dataGridView1.Columns[0],ListSortDirection.Ascending);
返されるデータを順序付けることにより、SQLデータベースから返されるデータを制御できます。
orderby [Name]
アプリケーションからSQLクエリを実行する場合、返されるデータを並べ替えます。たとえば、プロシージャを呼び出す関数またはSQLを実行する関数を作成し、orderby基準を取得するパラメーターを指定します。データベースから返されたデータを注文した場合、時間を消費しますが、UIではなく注文したいというように実行されているため、実行時に注文するので、SQLを実行するときに注文しますクエリ。
これは簡単です:)
dataview dataview1;
this.dataview1= dataset.tables[0].defaultview;
this.dataview1.sort = "[ColumnName] ASC, [ColumnName] DESC";
this.datagridview.datasource = dataview1;
つかいます Datatable.Default.Sort
プロパティを使用して、それをdatagridviewにバインドします。
これを行う最良の方法は、データソースをバインドする前にリストを並べ替えることです。
cars = cars.OrderBy(o => o.year).ThenBy(o => o.color).ToList(); adgCars.DataSource = cars;
悪い英語でごめんなさい。