Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
jonni
110 / 110 / 25
Регистрация: 03.03.2010
Сообщений: 436
1

Формат строки при выводе из БД

20.01.2013, 18:51. Просмотров 980. Ответов 12
Метки нет (Все метки)

Здравствуйте! Из БД в datagridview вывожу данные, через SqlDataAdapter
C#
1
2
SqlDataAdapter da = new SqlDataAdapter(sql, con);
                     da.Fill(ds, "mail");
При этом один из столбцов заполняется строкой состоящей из 16 символов(штрихкод)
Можно как то сделать формат чтобы в гриде отображалось не подряд цифры 1234567891234567, а в следующем формате: "123456 78 9123456 7"? Т.е нужно добавить 3 пробела в определенных местах. Спасибо.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2013, 18:51
Ответы с готовыми решениями:

Не совпадает формат даты при вводе и выводе
Есть такой файлик: <HTML> <% Session.LCID=1049 Response.Write 'Today is:' & Now() & ' '...

Задать формат ячеек Excel при выводе данных из DataGridView
Необходимо сделать текстовый формат всех ячеек в эксле перед выводом данных в него. Данные в эксель...

[Basic, Exel] При выводе значения из ячейки, не воспринимает формат Даты
Всем привет, хочу обратится за помощью. Написал макрос, который проверяет наличие файла в...

При выводе строки на экран появляется не нужный перенос строки
Дорогие знатоки, проблема следующая: при выводе строки на экран появляется символ переноса строки...

Ошибка при выводе строки
Подскажите в чем дело?? #include <iostream> #include <conio.h> #include <string.h> using...

12
kodv
1434 / 1107 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
21.01.2013, 05:28 2
C#
1
myDataGridView.Columns["myColumn"].DefaultCellStyle.Format = "000000 00 0000000 0";
Думаю, что разберетесь, что написать вместо myDataGridView и myColumn.
1
jonni
110 / 110 / 25
Регистрация: 03.03.2010
Сообщений: 436
21.01.2013, 15:56  [ТС] 3
kodv, а как можно такой же формат применить для компонента Label? Или чем можно заменить Label, чтобы можно было форматировать?

Добавлено через 10 минут
Да...и почему то не работает это форматирование))
0
kodv
1434 / 1107 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
21.01.2013, 16:17 4
jonni, Я из дезайнера это делал, перед тем, как запостить, проверил работоспособность. Должно работать. Label так не умеет. Но вы можете в Label сразу отформатированный текст запихивать.
0
21.01.2013, 16:17
jonni
110 / 110 / 25
Регистрация: 03.03.2010
Сообщений: 436
21.01.2013, 16:26  [ТС] 5
Увы, выводит аналогично как в БД, без пробелов. Может дело в SqlDataAdapter и то,что столбцы создаются динамически?
C#
1
2
3
4
5
SqlDataAdapter da = new SqlDataAdapter(list, con);
                da.Fill(ds, "mail");
                dt = ds.Tables["mail"];
                dataGridView2.DataSource = dt;
 dataGridView2.Columns[1].DefaultCellStyle.Format = "000000 00 0000000 0";
0
kodv
1434 / 1107 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
21.01.2013, 16:45 6
jonni, сейчас поковыряться не могу. Есть версия, что грид еще перерисоваться должен, чтобы отобразить новый стиль колонки. Если есть возможность, попробуйте данный формат задать через дизайнер.
0
jonni
110 / 110 / 25
Регистрация: 03.03.2010
Сообщений: 436
21.01.2013, 17:04  [ТС] 7
К сожалению через дизайнер тоже не работает..либо не так делаю что то..Создал колонку, там в свойствах колонки DefaultCellStyle, в строке Format нужный формат. Запускаю,начинаю вводить в datagrid-без пробелов вводится
0
kodv
1434 / 1107 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
21.01.2013, 18:41 8
jonni, Вам это для ввода нужно, или для отображения?
0
jonni
110 / 110 / 25
Регистрация: 03.03.2010
Сообщений: 436
21.01.2013, 18:49  [ТС] 9
Для отображения. Пробовал и в дизайнере DataSource привязать, выводит тоже без изменений. Хотя по логике должно работать
0
jonni
110 / 110 / 25
Регистрация: 03.03.2010
Сообщений: 436
22.01.2013, 18:57  [ТС] 10
Вариантов больше нет?
0
kodv
1434 / 1107 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
23.01.2013, 05:12 11
jonni, у меня не получается повторить ваше поведение у DataGridView. У меня грид перерисовывается сразу, даже если формат задать в коде в любом месте. Если скинете проект, то гляну, из-за чего данные настройки у вас не действуют.
0
jonni
110 / 110 / 25
Регистрация: 03.03.2010
Сообщений: 436
23.01.2013, 06:33  [ТС] 12
kodv, не могли бы Вы скинуть рабочий проектик, где есть этот фрагмент? Мой проект требует БД, следовательно еще базу грузить, что весьма неудобно. Заранее спасибо.
0
kodv
1434 / 1107 / 344
Регистрация: 11.04.2011
Сообщений: 2,610
Завершенные тесты: 1
23.01.2013, 07:52 13
jonni, Возможно, этого не потребуется. Не обратил внимание, что штрих-код у вас в строке хранится. Попробуйте в DataTable поменять его тип на int64, тогда вышеупомянутое форматирование должно работать. К форматированию строк другой подход. Примерно такой:
C#
1
2
3
4
5
private void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (((DataGridView)sender).Columns[e.ColumnIndex].Name == "Barcode" && ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value != null)
        e.Value = ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(0, 6) + " " + ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(6, 2) + " " + ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(8, 7) + " " + ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value.ToString().Substring(15, 1);
}
1
23.01.2013, 07:52
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 07:52

Мусор при выводе строки
В общем, вводится строка, а потом выводится... кракозябрами .model tiny .data ...

Ошибка при выводе строки
С указателями работаю не в первый раз, но почему-то возникает ошибка во время работы. int main()...

Ошибка при выводе строки
Допустим, даны ФИО, нужно имя и отчество сократить до инициалов и напечатать результат. В моём...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.