Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
3 / 3 / 1
Регистрация: 01.03.2017
Сообщений: 33

Как русифицировать имена столбцов для DataGridView?

21.04.2018, 08:59. Показов 2540. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Как русифицировать имена столбцов для DataGridView?

т.е. таблица, например, что-то типа такого:
ID Name DateTime Amount
должна выглядеть в DataGridView как
ID Ф.И.О. Дата и время Сумма

Спасибо.

Такие вещи, как
SQL
1
SELECT ID AS 'id', Name AS 'Ф.И.О.', DateTime AS 'Дата и время', Amount AS 'Сумма' FROM ExampleTable;
не сработали.

Код ошибки: [335544569].
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 14
'ID'


Добавлено через 7 минут
Можно было, конечно, через класс, типа:
C#
1
2
3
4
5
class ExampleTable
{
    [System.ComponentModel.DisplayName("№")]
    public string id { get; }
}
но DataGridView в DataSource имеет DataTable. Может реализация неправильна, но одним клиентам постоянно хотелось менять столбцы таблицы самим, из-за этого была DataTable(типа универсальность), т.к. generic класса я не находил, хотя долго гуглил.

Добавлено через 21 минуту
Оффтоп, но важный оффтоп для тех, кто пользуется Visual Studio:
Кликните здесь для просмотра всего текста
У меня перестал работать NuGet в Visual Studio, оказалось - Роскомнадзор таки заблокировал часть сервисов Microsoft Azure, с которых закачивались пакеты, кстати. Теперь топать на сайт и качать через VPN. Круто, да? Сам сайт работает, а скачать ничего нельзя, только через VPN получается загрузка.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.04.2018, 08:59
Ответы с готовыми решениями:

Как добавлять имена в DataGridView через другую form в которой textbox и button
Как добовлять имена в DataGridView через другую form с помощью textbox и button. У меня есть form1 и form2. В form1 у меня...

Считать имена столбцов из DataGridView
Нужно считать имена столбцов, а у меня не выходит. В список записывает пустоту. В чём проблема? List<string> columnName = new...

Как получить имена столбцов таблицы php
Как получить имена всех столбцов таблицы?

3
Эксперт .NET
 Аватар для Usaga
14136 / 9359 / 1350
Регистрация: 21.01.2016
Сообщений: 35,174
21.04.2018, 10:09
Лучший ответ Сообщение было отмечено HypSpace как решение

Решение

HypSpace, русификация производится строго в UI. Имена полей в запросе не трогайте. Создайте в дизайнере форм DataSource, в нём пропишите нужные колонки с именами на русском и привязкой к реальным полям и используйте на здоровье. Будет работать как с DataTable так и с обычными классами.
1
3 / 3 / 1
Регистрация: 01.03.2017
Сообщений: 33
21.04.2018, 12:10  [ТС]
Usaga, я Вас наверное сегодня достал
Пробовал несколько вариантов.
DataSource - это BindingSource или DataSet* т.к. конкретно такого у меня нет

Если DataSet - то в нем собственно создал таблицу с колонками, но на свойство Caption не реагирует, т.е. имена столбцов также англ.
Если же это Источник данных - то никак, Firebird там не фигурирует )
С BindingSource не разобрался пока.

У меня отдельный класс для загрузки таблиц, у которого public доступ к DataTable.
DataTable заполняется через FbDataAdapter.Fill, т.е. имеется заполненный DataTable.
Если сделать просто DataGridView.DataSource = DBClass.fb_datatable, то привязка нормально, кроме заголовков столбцов (а так и должно быть, раз я их не изменил).

Скриншот - в дизайнере форм создавал DataSet. Что я делаю не так?

Спасибо.
Миниатюры
Как русифицировать имена столбцов для DataGridView?   Как русифицировать имена столбцов для DataGridView?  
0
3 / 3 / 1
Регистрация: 01.03.2017
Сообщений: 33
21.04.2018, 12:30  [ТС]
Все. Я достиг просветления

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        private void TranslateColumns()
        {
            switch (db_model.db_info.TableName)
            {
                case "Salary":
                    string[] SalaryColumns = { "№", "Ф.И.О. врача", "Ф.И.О. пациента", "Дата начисления", "Сумма", "Процент врача", "Оплачено", "Дата оплаты" };
                    foreach (DataGridViewColumn col in DataGridView.Columns)
                    {
                        col.HeaderText = SalaryColumns[col.Index];
                    }
                    Debug.WriteLine("Triggered: TranslateColumns()");
                    break;
            }
 
        }
Создал строковый массив с переводом колонок и циклом в DataGridView изменил HeaderText.
Функция выполняется после присвоения DataSource. Все работает корректно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.04.2018, 12:30
Помогаю со студенческими работами здесь

Как записать DataGridView в DataTable, чтобы имена брались из .Columns.HeaderText
Добрый день, коллеги! Написал программу, которая получает из БД данные и выводит их на экран в DGV. Затем по нажатию кнопки эти данные...

Как сгенерировать таблицу из данных другой формы, также указав имена и строк, и столбцов?
Здравствуйте, уважаемые программисты! Возникла такая проблема. Я реализую решение транспортной задачи. При выборе метода указываю...

Для одного из столбцов БД требуется указать значение гиперссылки в DataGridView
Здравствуйте. У меня возникла следующая проблема: на форме DataGridView, к ней я привязал базу данных Microsoft Access. Для одного из...

Как установить ширину столбцов в DataGridView?
Здравствуйте. DataGridView привязан к форме и его ширина меняется с изменением ширины формы. В DataGridView несколько столбцов....

Как менять ширину столбцов в datagridview?
Я бы хотел чтобы и ширину столбцов и размеры самого datagridview можно было менять во время выполнения, причем также обычно, как меняют...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru