Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: VB.Net 2005. Связывание обьектов с бд Добавлено: 11.08.07 20:59  

Автор вопроса:  alex
Помогите новичку плиз. Только начал эксперементировать с VB.Net. Вопрос в следующем: пытаюсь связать поле таблицы с обьектом TextBox в коде

TextBox1.DataBindings.Add("Text", ds.Tables(0).Columns(1).ToString)


После открытия таблицы, в TextBox появляется значение из указанного поля. На форме, кроме TextBox, расположен DataGridView. При перемещении по нему нужно чтобы соответственно изменялось значение и в TextBox. Но там по прежнему значение первой записи. На VB перешел с Дельфи, вот никак и не сориентируюся. Там DBGrid и любой обьект подключенный через тотже DataSource работают синхронно.

Большое спасибо

Ответить

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

Номер ответа: 1
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #1 Добавлено: 12.08.07 01:57
Здесь тоже, только биндить textbox надо к BindingSource а не к таблице из dataset

Ответить

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



Вопросов: 2
Ответов: 5
 Профиль | | #2 Добавлено: 12.08.07 14:29
А с какими параметрами BindingSource подключать в TextBox?

Приведу код


Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileNameBase
Dim cn As OleDb.OleDbConnection = New OleDb.OleDbConnection(str)
cn.Open()

Dim strSelect As String = "Select * from t"
Dim da As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(strSelect, cn)
Dim ds As DataSet = New DataSet
da.Fill(ds)
cn.Close()

Try
   BindingSource1.DataSource = ds

   ;DataGridView1.DataSource = BindingSource1
   ;DataGridView1.DataMember = ds.Tables(0).TableName

   TextBox1.DataBindings.Add("Text", ds.Tables(0), ds.Tables(0).Columns(1).ToString)

end try

Ответить

Номер ответа: 3
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #3 Добавлено: 12.08.07 15:07
cn.open() + cn.close() можешь убрать

забинди вот так

Me.TextBox1.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.BindingSource1, ds.Tables(0).Columns(1).ColumnName, True))

Ответить

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



Вопросов: 2
Ответов: 5
 Профиль | | #4 Добавлено: 12.08.07 17:59
Ошибка выскакивает : Cannot bind to the property or column name on the DataSource

Ответить

Номер ответа: 5
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #5 Добавлено: 13.08.07 04:14
убери ds.Tables(0).Columns(1).ColumnName и пропиши имя колонны явно "МояКолонна1"

Ответить

Номер ответа: 6
Автор ответа:
 alex



Вопросов: 2
Ответов: 5
 Профиль | | #6 Добавлено: 13.08.07 09:40
Та же ошибка

Ответить

Номер ответа: 7
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #7 Добавлено: 13.08.07 14:34
тьфу блин, просмотрел...
убери DataGridView1.DataMember = ds.Tables(0).TableName
и поставь
BindingSource1.DataMember = ds.Tables(0).TableName
а биндить надо как в посте №3

Ответить

Номер ответа: 8
Автор ответа:
 alex



Вопросов: 2
Ответов: 5
 Профиль | | #8 Добавлено: 13.08.07 16:47
Супер! Огромное спрасибо! А не подскажешь как правильно при-биндить PictureBox и поле содержащее картинку?

Ответить

Номер ответа: 9
Автор ответа:
 alex



Вопросов: 2
Ответов: 5
 Профиль | | #9 Добавлено: 13.08.07 16:58
Все ок. Сам допетрил. Просто вместо "text" нужно поставить "image"

Ответить

Страница: 1 |

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



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