Страница: 1 |
Вопрос: Как задать одному из полей в dataset vb.net шаб... | Добавлено: 10.04.03 10:47 |
Автор вопроса: ![]() |
Доброго времени суток! Как задать одному из полей в dataset vb.net шаблон текста как в Access? Например, у меня есть текстовое поле и там могут быть такие данные: aa11, aabb11 и т.п. длины макс. 30 символов. Мне надо вывести данные из dataset в datagrid так, чтобы они выглядели так: aa.11, aa.bb.11 и т.п., т.е. примить шаблон. В Access есть такая фишка, а в vb.net я не понял, есть ли она и как ею воспользоваться. Спасибо! |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 7 Ответов: 27 |
Профиль | Цитата | #1 | Добавлено: 10.04.03 15:34 |
Откуда ты будешь выберать данные? С SQL, access,текст файл ? Я думаю, можно это поле отформатировать нужным образом уже при запросе. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 7 Ответов: 27 |
Профиль | Цитата | #2 | Добавлено: 10.04.03 16:48 |
Можно сначала загрузить данные в датасет, а потом через цикл фор прогнать эту колонку в датасете через функцию, которая отформатирует данные. Если выберать данные из сервера то можно написать функцию на самом сервере, и через хранимую процедуру получать уже отформатированные данные. Все зависит от конкретных условий.Опиши подробней твою ситуацию, откуда выбераешь данные, как много рекордов нужно забивать в датасет и тд. Что нибудь придумаем. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 7 Ответов: 27 |
Профиль | Цитата | #3 | Добавлено: 10.04.03 16:48 |
Можно сначала загрузить данные в датасет, а потом через цикл фор прогнать эту колонку в датасете через функцию, которая отформатирует данные. Если выберать данные из SQL сервера то можно написать функцию на самом SQL сервере, и через хранимую процедуру получать уже отформатированные данные. Все зависит от конкретных условий.Опиши подробней твою ситуацию, откуда выбераешь данные, как много рекордов нужно забивать в датасет и тд. Что нибудь придумаем. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 32 Ответов: 23 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 10.04.03 21:59 |
Я данные беру из Access при помощи oledb, к-во записей может быть от 0 до 10000. Может еще кто знает, как считывать данные из dataset не выводя в datagrid? |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 7 Ответов: 27 |
Профиль | Цитата | #5 | Добавлено: 11.04.03 19:06 |
Попробуй такой вариант. Для 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 |
|