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


Автор: fath_fast 22.7.2007, 12:46
Есть такая проблема:
у меня из базы запрос возвращает наименование колонок не русскими буквами. результат запроса прикреплён к датасету, а тот к DataGridView...
Какие варианты есть руссифицирования имён колонок, кроме как создать свои колонки с нужными именами и через DatаPropertyname прикреплять по колонке отдельно, а те что автоматически получились с датасетом сделать инвизибл... ?
 

Автор: mr.DUDA 22.7.2007, 12:57
У колонок датасета есть свойство Caption, оттуда берутся имена колонок для грида.

Автор: fath_fast 22.7.2007, 13:12
mr.DUDA, ничего не выходит !!!

вот мой код:
Код

try
            {
                using (MySqlConnection conn = new MySqlConnection(Form1.source))
                {
                    conn.Open();

                    MySqlCommand cmd = new MySqlCommand("SELECT name FROM clients WHERE id_client='" + id_client + "'", conn);
                    nameBox.Text = (string)cmd.ExecuteScalar();


                    adap = new MySqlDataAdapter("CALL counter1('" + id_client + "', '" + sinceTime.Value.ToString("yyyy.MM.dd") + "', '" + tillTime.Value.ToString("yyyy.MM.dd") + "')", conn);
                    adap.Fill(ds, "client");
                     
            ds.Tables["client"].Columns[0].Caption = "AAA";   
             ds.Tables["client"].Columns[1].Caption = "Маш";
            ds.Tables["client"].Columns[2].Caption = "Сотр";
            ds.Tables["client"].Columns[3].Caption = " номер";

            ds.Tables["client"].Columns[4].Caption = "Время";
            ds.Tables["client"].Columns[5].Caption = "Гр";
            ds.Tables["client"].Columns[6].Caption = "К";
            ds.Tables["client"].Columns[7].Caption = "Экс";
            ds.Tables["client"].Columns[8].Caption = "Доп";
            ds.Tables["client"].Columns[9].Caption = "Итого";
                   

                    conn.Close();
                }
            }
            catch (MySqlException e)
            {
                MessageBox.Show( e.Message);
            }

            
            clientDGV.DataSource = ds.Tables["client"];
            

не ругается, но и не выводит как надо, как были имена аглицикие так и остались

Автор: mr.DUDA 22.7.2007, 14:34
А до присвоения clientDGV.DataSource в гриде уже есть колонки, или ещё нет ?

Автор: fath_fast 22.7.2007, 14:46
mr.DUDA, нет - он чист! он кормится только с этого датасета и только на это участке кода

Автор: mr.DUDA 22.7.2007, 15:12
Похоже, Caption не пашет  smile 

http://www.rsdn.ru/Forum/?mid=2011468

Автор: fath_fast 22.7.2007, 15:48
mr.DUDA, прошолся по ссылке, единственное к чему там ребята пришли так это к использовованию  DataGridColumnStyle.HeaderText 
а это значит 
Цитата

создать свои колонки с нужными именами и через DatаPropertyname прикреплять по колонке отдельно, а те что автоматически получились с датасетом сделать инвизибл...


я правильно понимаю?

Автор: mr.DUDA 22.7.2007, 18:14
Или пройтись и создать стили с нужными HeaderText, и назначить колонкам.

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