PDA

View Full Version : Sort کردن DataGridView بر اساس چند فیلد



nasr
سه شنبه 02 تیر 1388, 09:47 صبح
سلام

من یه DataGridView دارم که هیچ DataSource ی نداره
یعنی دستی با یک حلقه For پر میشه

حالا چطور میتونم بر اساس چند تا از فیلدهای اون Sort اش کنم

ممنون

Reza_Yarahmadi
سه شنبه 02 تیر 1388, 15:25 عصر
شما هر بار میتونید بر اساس یک فیلد گرید رو مرتب کنید برای اینکه بر اساس چند فیلد مرتب کنید باید اول بر اساس فیلدهای فرعی مرتب کنید و آخرین مرتب سازی رو بر اساس فیلد اصلی انجام بدید.


dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);

بخش اول متد، فیلد مورد نظر و بخش دوم صعودی یا نزولی بودن مرتب سازی رو تعیین میکنه.

nasr
چهارشنبه 03 تیر 1388, 10:31 صبح
این روش بر اساس یک فیلد مرتب میکنه

Reza_Yarahmadi
چهارشنبه 03 تیر 1388, 16:21 عصر
همیشه مرتب سازی بر اساس یک فیلد انجام میشه اگر دو رکورد دارای فیلد مشابه باشن سراغ فیلد بعدی میره و به همین صورت ادامه پیدا میکنه. وقتی یکی یکی فیلدها رو مرتب کنید در آخر بر اساس کل رکورد گرید مرتب میشه.
توی این مثال فرض کردم هر رکورد 4 فیلد داشته باشه


dataGridView1.Sort(dataGridView1.Columns[3], ListSortDirection.Ascending);
dataGridView1.Sort(dataGridView1.Columns[2], ListSortDirection.Ascending);
dataGridView1.Sort(dataGridView1.Columns[1], ListSortDirection.Ascending);
dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);

ترتیب مرتب سازی هم به این صورته که اگه فیلد اول دو رکورد مساوی باشه، رکوردی بالاتر قرار میگیره که فیلد دومش کوچکتر باشه و ...