Страница: 1 |
Доброго времени суток! Как задать одному из полей в dataset vb.net шаблон текста как в Access? Например, у меня есть текстовое поле и там могут быть такие данные: aa11, aabb11 и т.п. длины макс. 30 символов. Мне надо вывести данные из dataset в datagrid так, чтобы они выглядели так: aa.11, aa.bb.11 и т.п., т.е. примить шаблон. В Access есть такая фишка, а в vb.net я не понял, есть ли она и как ею воспользоваться. Спасибо!
Откуда ты будешь выберать данные? С SQL, access,текст файл ? Я думаю, можно это поле отформатировать нужным образом уже при запросе. Можно сначала загрузить данные в датасет, а потом через цикл фор прогнать эту колонку в датасете через функцию, которая отформатирует данные. Если выберать данные из сервера то можно написать функцию на самом сервере, и через хранимую процедуру получать уже отформатированные данные. Все зависит от конкретных условий.Опиши подробней твою ситуацию, откуда выбераешь данные, как много рекордов нужно забивать в датасет и тд. Что нибудь придумаем. Можно сначала загрузить данные в датасет, а потом через цикл фор прогнать эту колонку в датасете через функцию, которая отформатирует данные. Если выберать данные из SQL сервера то можно написать функцию на самом SQL сервере, и через хранимую процедуру получать уже отформатированные данные. Все зависит от конкретных условий.Опиши подробней твою ситуацию, откуда выбераешь данные, как много рекордов нужно забивать в датасет и тд. Что нибудь придумаем. Я данные беру из Access при помощи oledb, к-во записей может быть от 0 до 10000. Может еще кто знает, как считывать данные из dataset не выводя в datagrid? Попробуй такой вариант. Для Access можно использовать функцию: ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Function FormatText(ByVal s As String) As String Dim Rt As String Dim i As Integer i = Len(s) Do While i > 0 Rt = Rt & Microsoft.VisualBasic.Left(s, 2) & IIf(i > 2, ".", "") If i > 1 Then s = Microsoft.VisualBasic.Right(s, i - 2) i = Len(s) Else i = 0 s = "" End If Loop Return Rt End Function ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Можно использовать ее уже после того как забил данные в датасет если используешь OleDbDataAdapter: For i = 0 To dsMY.SelOrderDetail.Rows.Count - 1 dataset.SelectedTablo(i).FildName = FormatText(dataset.SelectedTablo(i).FildName) Next или если использовать OleDbDataReader можно добавлять уже отформатированную строку в датасет: '''''''''''''''''''''''''''''''''''' While DataRead.Read .......... .......... NewRow.Item("FildName") =FormatText( DataRead.Item("FildName")) DsOrderDetails1.SelOrderDetail.Rows.Add(NewRow) End While '''''''''''''''''''''''''''''''''''''''''''' Но конечно это будет работать намного медленнее, чем если писать встроенную функцию в SQL Server Страница: 1 |
Вопрос: Как задать одному из полей в dataset vb.net шаб...
Добавлено: 10.04.03 10:47
Автор вопроса: Gr | Web-сайт:
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Serge1167
Вопросов: 7
Ответов: 27
Профиль | | #1
Добавлено: 10.04.03 15:34
Номер ответа: 2
Автор ответа:
Serge1167
Вопросов: 7
Ответов: 27
Профиль | | #2
Добавлено: 10.04.03 16:48
Номер ответа: 3
Автор ответа:
Serge1167
Вопросов: 7
Ответов: 27
Профиль | | #3
Добавлено: 10.04.03 16:48
Номер ответа: 4
Автор ответа:
Gr
Вопросов: 32
Ответов: 23
Web-сайт:
Профиль | | #4
Добавлено: 10.04.03 21:59
Номер ответа: 5
Автор ответа:
Serge1167
Вопросов: 7
Ответов: 27
Профиль | | #5
Добавлено: 11.04.03 19:06