Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > DataGridView -> Sort


Автор: kurzon 16.10.2007, 14:33
Условие: Массив записей структура которого автор, год издания, сортировать методом пузырька
Я уже сделал в консольном режиме, замечательно работает, так як я хотел.  
А надо сделать в визуальном режиме?
Пожалуста... 
 
Код

using System;
using System.Collections.Generic;
using System.Text;

namespace Sort_Book
{
    struct Book
    {
        public Book(string author, int year)
        {
            this._year = year;
            this._author = author;
        }

        private int _year;

        public int Year
        {
            get { return this._year; }
            set { this._year = value; }
        }

        private string _author;

        public string Author
        {
            get { return this._author; }
            set { this._author = value; }
        }

        public override string ToString()
        {
            return String.Format("Название книги :{0}, Год :{1}", Author, Year);
        }
    }
    static class BubbleSort
    {
        public static void Sort<T>(T[] array, Comparison<T> comparison)
        {
            for (int i = array.Length - 1; i > 0; i--)
            {
                for (int j = 0; j < i; j++)
                {
                    if (comparison(array[j], array[j + 1]) > 0)
                    {
                        T temp = array[j];
                        array[j] = array[j + 1];
                        array[j + 1] = temp;
                    }
                }
            }
        }
    }
    class Teenager
    {
        private static Random random = new Random();
        private static readonly string[] messages = new string[6]
            { 
                "Троесент!", 
                "Ватсон!", 
                "Фаронов!", 
                "Шилд!", 
                "Агуров!", 
                "Глинський!" 
            };

        public static string Complain()
        {
            return messages[random.Next(messages.Length)];
        }
    }

    class Program
    {
        static void PrintBookTitles(Book[] books)
        {
            foreach (Book book in books)
            {
                Console.WriteLine(book);
            }
        }

        static void Main(string[] args)
        {
            Book[] books = new Book[10];
            Random random = new Random();

            for (int i = 0; i < books.Length; i++)
            {
                books[i] = new Book(Teenager.Complain(), random.Next(2007));
            }

            PrintBookTitles(books);
            Console.ReadLine();

            BubbleSort.Sort(books, delegate(Book a, Book b)
                    {
                        return a.Year.CompareTo(b.Year);
                    });
        
            Console.WriteLine("После сортировки:");

            PrintBookTitles(books);
            Console.ReadLine();
        }

        }
    }


Автор: CYBERDREAM 16.10.2007, 14:41
Приветствую. Не пойму в чем собственно проблема у тебя? ЧТо ты не можешь осуществить? smile 

Автор: thomas 16.10.2007, 14:47
CYBERDREAM, 
привет.
Не заморачивайся.
Пусть товарисч, сам пишет windows application.  smile 
Там делов то, поле ввода/вывода, да кнопка.

Автор: CYBERDREAM 16.10.2007, 14:54
 thomas во истину глаголишь Шеф. smile 
kurzon попробуй сначала сам. Толку иначе голяк smile 

Автор: kurzon 16.10.2007, 14:56
Цитата(CYBERDREAM @ 16.10.2007,  14:41)
Приветствую. Не пойму в чем собственно проблема у тебя? ЧТо ты не можешь осуществить? smile

Дайте мене пару ссылок на инфу по DataGridView?
Как занести данные в DataGridView1? (Относительно до мого исходника)
Прочитать с DataGridView1 и занести сортировочний масив в DataGridView2? (Относительно до мого исходника)

Ок сам попробую...
А какую книгу луче читать по DataGridView ?


Вот я кидаю макет программы? ( by http://forum.vingrad.ru/act-Attach/type/post/id-1289151.html )

Автор: CYBERDREAM 16.10.2007, 15:03
Цитата

А луче сделайте за меня...

 smile 
Умеешь поднять настроение.
по датагридвью: http://www.rsdn.ru/article/dotnet/DataGridView20.xml
если в кратце то добавить:
Код

dataGridView1.Rows.Add("","",2,false);

в зависимости от твоих полей

Автор: thomas 16.10.2007, 15:08
kurzon, 
Это что за дела? Почему по этой ссылке
Цитата

Вот я кидаю макет программы? ( by http://forum.vingrad.ru/act-Attach/type/post/id-1289151.html )

ВИРУС!!! Virus.Win32.Sality.s
 smile 

Автор: CYBERDREAM 16.10.2007, 15:12
Наверно Антивирус хочет чтобы Kurzon сам прогу написал

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)