Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как задать одному из полей в dataset vb.net шаб... Добавлено: 10.04.03 10:47  

Автор вопроса:  Gr | Web-сайт: www.vbnet.ru

Доброго времени суток!

Как задать одному из полей в dataset vb.net шаблон текста как в Access? Например, у меня есть текстовое поле и там могут быть такие данные: aa11, aabb11 и т.п. длины макс. 30 символов. Мне надо вывести данные из dataset в datagrid так, чтобы они выглядели так: aa.11, aa.bb.11 и т.п., т.е. примить шаблон. В Access есть такая фишка, а в vb.net я не понял, есть ли она и как ею воспользоваться. Спасибо!

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Serge1167



Вопросов: 7
Ответов: 27
 Профиль | | #1 Добавлено: 10.04.03 15:34

Откуда ты будешь выберать данные? С SQL, access,текст файл ?

Я думаю, можно это поле отформатировать нужным образом уже при запросе.

Ответить

Номер ответа: 2
Автор ответа:
 Serge1167



Вопросов: 7
Ответов: 27
 Профиль | | #2 Добавлено: 10.04.03 16:48

Можно сначала загрузить данные в датасет, а потом через цикл фор прогнать эту колонку в датасете через функцию, которая отформатирует данные. Если выберать данные из сервера то можно написать функцию на самом сервере, и через хранимую процедуру получать уже отформатированные данные. Все зависит от конкретных условий.Опиши подробней твою ситуацию, откуда выбераешь данные, как много рекордов нужно забивать в датасет и тд. Что нибудь придумаем.

Ответить

Номер ответа: 3
Автор ответа:
 Serge1167



Вопросов: 7
Ответов: 27
 Профиль | | #3 Добавлено: 10.04.03 16:48

Можно сначала загрузить данные в датасет, а потом через цикл фор прогнать эту колонку в датасете через функцию, которая отформатирует данные. Если выберать данные из SQL сервера то можно написать функцию на самом SQL сервере, и через хранимую процедуру получать уже отформатированные данные. Все зависит от конкретных условий.Опиши подробней твою ситуацию, откуда выбераешь данные, как много рекордов нужно забивать в датасет и тд. Что нибудь придумаем.

Ответить

Номер ответа: 4
Автор ответа:
 Gr



Вопросов: 32
Ответов: 23
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 10.04.03 21:59

Я данные беру из Access при помощи oledb, к-во записей может быть от 0 до 10000. Может еще кто знает, как считывать данные из dataset не выводя в datagrid?

Ответить

Номер ответа: 5
Автор ответа:
 Serge1167



Вопросов: 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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам