powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Почему отображается только часть поля, длина которого 10 знаков?
25 сообщений из 29, страница 1 из 2
Почему отображается только часть поля, длина которого 10 знаков?
    #36264279
DataGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую DataGrid1 в своей программе на VB6

Это происходит только если я попадаю мышкой в это поле (с другими полями та же проблема)
Т.е. если мышкой в поля не тыкать, то проблем нет.
Но мне надо сделать и редактирование и просмотр.
Код: plaintext
1.
2.
3.
4.
5.
    Set DataGrid1.DataSource = Me.Adodc1

    Me.DataGrid1.Columns( 0 ).Caption = "ТЕЛЕФОН"
    Me.DataGrid1.Columns( 0 ).NumberFormat = "(000) 000 00 00" 
    Me.DataGrid1.Columns( 0 ).DataField = "telefon"
Подскажите пожалуйста, как кодом VB наладить отображение данных ?

Картинка с вымышленными значениями
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36265648
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataGrid,

У тебя там поле с длиной не 10 знаков...
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36265663
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataGrid,

Если ты имел ввиду часть, то слово часть - женского рода: длина котор ой 10 знаков. Я проверил твой случай на своей DataGrid1 совместно с Adodc1, он у меня не воспроизводится.

Попробуй поменять грид и посмотри, что получится.

Успехов.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36265787
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, это поле 10 знаков, тип string, просто в этом поле только цифры, номер телефона
отображается нормально,
а вот когда мышкой попаду в поле, неважно в какое, первое поле, второе
то отображается только часть поля

что за ерунда, не пойму
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36266268
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это потому, что ты сделал фортированное отображение данных в колонке. вводить же тебе придется только 10 символов (длина твоего поля) без форматирования
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36266485
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо.
А нельзя сделать чтобы и при вводе сохранялось форматирование и как это сделать?
Если нельзя, то в каком Grid-е это возможно?
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36266619
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в гриде вряд ли. а так есть masked edit control в составе Microsoft Common Controls
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36266694
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю Вас Konst_One и VladConn
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36267289
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Я сделал такое же форматирование на такой же колонке, у меня проблема не воспроизводится.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36267292
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда автор что-то недоговаривает. я сейчас проверить не могу.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36267746
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я когда мышкой тыкаю в поле, чтобы отредактировать значение
появляется только часть значения выделенное синим цветом,
а мне бы хотелось чтобы сохранился формат отображения
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36267759
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В строке случаем не затесался vbCrLf?

Jah loves you.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36268880
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyВ строке случаем не затесался vbCrLf?Да нет, там в текстовом поле "telefon" только цифры, причём поле заполнено полностью, т.е. 10 цифр.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36268897
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что за грид вы юзаете?
надо использовать Microsoft DataGrid Control 6.0 (SP6) (OLE DB)
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36270227
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, спасибо Вам за Ваше участие

да, именно этот компонент, только SP5

я вот сейчас закоментировал строку форматирования
Код: plaintext
1.
2.
'    Me.DataGrid1.Columns(0).NumberFormat = "(000) 000 00 00"
'    Me.DataGrid1.Columns(1).NumberFormat = "(000) 000 00 00" 
и всё равно, в тот момент когда я тыкаю мышкой в это поле, значение отсекается
т.е. получается тот же вид что я выложил сюда (картинку) только уже без формата
значит дело не в форматировании?
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36361469
DataGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36361516
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поле в БД случайно не ограничено 10-ю знаками?
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36361522
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на Microsoft DataGrid Control 6.0 (SP6) (OLE DB) + ADODB.Recordset в качестве DataSource не воспроизводиться данная проблема.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36363792
afal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А попробуй увеличить в DataGrid ширину поля (столбца), например в два раза.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36364973
DataGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Спасибо что нашли время посмотреть.
Я сейчас удалил из Form1 объекты Adodc1 и DataGrid1
И поместил заново на Form1
Ничего в этих объектах не менял, запустил только этот код,
В общем, если мышкой не кликать по ячейкам, то всё отображается нормально,
стоит только ткнуть мышкой по любой ячейке с телефоном, то отображается только часть значения.

Код: plaintext
1.
    strSQL = "SELECT pole1, telefon FROM tmpTELEFON"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Me.Adodc1.UserName = "Admin"
    Me.Adodc1.RecordSource = strSQL
'   Me.Adodc1.RecordSource = "tmpTELEFON"
    Me.Adodc1.CursorType = adOpenStatic
    Me.Adodc1.LockType = adLockReadOnly
    Me.Adodc1.Mode = adModeShareDenyRead
    Me.Adodc1.CursorLocation = adUseClient
    Me.Adodc1.CommandType = adCmdText   'adCmdTable
    Me.Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & mdb & ";Persist Security Info=False"
    Me.Adodc1.Refresh
    Me.Adodc1.Caption = Me.Adodc1.Recordset.RecordCount

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    Me.DataGrid1.ClearFields
    Me.DataGrid1.Refresh
    
    Me.DataGrid1.Visible = True
    Me.DataGrid1.AllowUpdate = False
    Me.DataGrid1.AllowRowSizing = False

    Me.DataGrid1.RowHeight =  280 
    Me.DataGrid1.Caption = "СПИСОК"
    Me.DataGrid1.HeadLines =  2 
    
    Set DataGrid1.DataSource = Adodc1

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
    Me.DataGrid1.Columns( 0 ).WrapText = True
    Me.DataGrid1.Columns( 0 ).Caption = "поле1"
    Me.DataGrid1.Columns( 0 ).NumberFormat = "(0000) 000 00 00"    'ПРОБОВАЛ ТАК
    Me.DataGrid1.Columns( 0 ).DataField = "pole1"
    Me.DataGrid1.Columns( 0 ).Locked = True
    
    Me.DataGrid1.Columns( 1 ).WrapText = True
    Me.DataGrid1.Columns( 1 ).Caption = "ТЕЛЕФОН"
    Me.DataGrid1.Columns( 1 ).NumberFormat = "(000)\ 000\ 00\ 00" 'ПРОБОВАЛ ТАК
    Me.DataGrid1.Columns( 1 ).DataField = "telefon"
    Me.DataGrid1.Columns( 1 ).Width =  4000     'СДЕЛАЛ ШИРЕ, раза в два

ПОКА И это не помогло
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36364990
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DataGrid,

Повторю вопрос - какой тип и размер данных соответствующего поля БД?
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36365086
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тип поля String, значения в таблице - цифры
длина во втором поле telefon - 10 символов, ну то есть 10 цифр,
например 0123456789
форматируется так (012) 345 67 89
но когда я мышкой кликаю в какую-нибудь ячейку, этого грида, появляется только часть значения с синим фоном
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36365107
DаtаGrid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
неужели придётся идти на поводу у этого грида и делать длину поля в самой таблице больше именно на то кол-во символов, которое вставляется при форматировании?
то есть 01234546789
после (012) 345 67 89
функция формат втиснула в значение две скобки и три пробела
значит длину поля внутри таблицы надо увеличивать 5 символов?
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36365114
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё раз рекомендую использовать напрямую ADODB.Recordset в качестве источника записей вашего грида.
...
Рейтинг: 0 / 0
Почему отображается только часть поля, длина которого 10 знаков?
    #36365147
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DаtаGrid неужели придётся идти на поводу у этого грида и делать длину поля в самой таблице больше именно на то кол-во символов, которое вставляется при форматировании?
то есть 01234546789
после (012) 345 67 89
функция формат втиснула в значение две скобки и три пробела
значит длину поля внутри таблицы надо увеличивать 5 символов?

Вы ПОПРОБУЙТЕ для начала сделать поле БД в 20 символов
Сразу станет понятно, в этом ли причина.

У меня как раз предположение, что это глюк датагрида, что он учитывает длину поля, но не учитывает формат.

От того, что вы расширите длину поля в БД ничего страшного не произойдет
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Почему отображается только часть поля, длина которого 10 знаков?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]