Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.visual-basic > #18506
| Newsgroups | it.comp.lang.visual-basic |
|---|---|
| Date | 2015-09-14 12:12 -0700 |
| Message-ID | <11e6196a-7b2b-465b-af58-aa03d6b79b65@googlegroups.com> (permalink) |
| Subject | TableAdapterManager tipizzato come proprietà di un UserControl |
| From | Sacman <d.camorani@gmail.com> |
Buongiorno. Sicuramente esiste una soluzione migliore di quella che ho trovato io, ma comunque posto il quesito.
Per sostituire la classe ComboBox predefinita, che ha una serie di limitazioni, fra le quali il fatto che non sia possibile metterla in ReadOnly (non esiste tale proprietà per la classe ComboBox), ho pensato di creare un mia classe myTextBoxExtra, che altro non e' che un UserControl, con un Button e 2 TextBox. Il Button mi servirebbe per aprire un form ad elenco di inserimento, mentre i TextBox1 e' collegato al bingingsource dell'Usercontrol.
Fin qui tutto OK. La mia esigenza e' quella di associare il TextBox2 ad una seconda origine dati, che visualizzi un DisplayMember.
Per generalizzare l'Usercontrol, il TableAdapterManager dovrebbe essere passato come property e obJAdapert aggiornare la objDataSet.DataTable opportuna, che ho selezionato da designer modificando il campo proprieta' myTableAdapterManager. Vedere codice allegato:
Public Class myTextBoxExtra
Dim objDataView As DataView
Dim objDataSet As New dataDataSet
Dim objRow As DataRowView
Dim objAdapter As dataDataSetTableAdapters.LstProvincieTableAdapter
Dim _DataSource As BindingSource
Public Property myDataSource As BindingSource
Get
Return _DataSource
End Get
Set(ByVal value As BindingSource)
_DataSource = value
End Set
End Property
Dim _ValueMember As String
Public Property myValueMember As String
Get
Return _ValueMember
End Get
Set(ByVal value As String)
_ValueMember = value
End Set
End Property
Dim _DisplayMember As String
Public Property myDisplayMember As String
Get
Return _DisplayMember
End Get
Set(ByVal value As String)
_DisplayMember = value
End Set
End Property
Dim _TableAdapterManager As dataDataSetTableAdapters.TableAdapterManager
Public Property myTableAdapterManager As dataDataSetTableAdapters.TableAdapterManager
Get
Return _TableAdapterManager
End Get
Set(ByVal value As dataDataSetTableAdapters.TableAdapterManager)
_TableAdapterManager = value
End Set
End Property
Private Sub myTextBoxExtra_BindingContextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.BindingContextChanged
'Me.MyTextBox2.DataBindings.Add(New Binding("Text", Me.myDataSource, Me.myDisplayMember, Me.DataBindings.Item(0).FormattingEnabled, System.Windows.Forms.DataSourceUpdateMode.OnValidation, Nothing, Me.DataBindings.Item(0).FormatString))
End Sub
Private Sub myTextBoxExtra_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'MsgBox(myTableAdapterManager.Container.Components.Item(0).Site)
MsgBox(MsgBox(Me.myTableAdapterManager.Container.Components.Item(0)))
If Me.DataBindings.Count > 0 Then
Me.MyTextBox1.DataBindings.Add(New Binding("Text", Me.DataBindings.Item(0).DataSource, Me.DataBindings.Item(0).BindingMemberInfo.BindingField, Me.DataBindings.Item(0).FormattingEnabled, System.Windows.Forms.DataSourceUpdateMode.OnValidation, Nothing, Me.DataBindings.Item(0).FormatString))
Me.MyTextBox2.DataBindings.Add(New Binding("Text", Me.myDataSource, Me.myDisplayMember, Me.DataBindings.Item(0).FormattingEnabled, System.Windows.Forms.DataSourceUpdateMode.OnValidation, Nothing, Me.DataBindings.Item(0).FormatString))
End If
End Sub
Private Sub MyTextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyTextBox1.TextChanged
Dim itemFound As Integer = Me.myDataSource.Find(Me.myValueMember, Me.MyTextBox1.Text)
If itemFound > 0 Then
objDataView = New DataView(objDataSet.Tables(myDataSource.DataMember))
objAdapter = New dataDataSetTableAdapters.LstProvincieTableAdapter
objAdapter.Fill(objDataSet.LstProvincie)
objRow = objDataView.Item(itemFound)
Me.MyTextBox2.Text = objRow.Item(Me.myDisplayMember)
Else
Me.MyTextBox2.Text = ""
End If
End Sub
End Class
Back to it.comp.lang.visual-basic | Previous | Next — Next in thread | Find similar
TableAdapterManager tipizzato come proprietà di un UserControl Sacman <d.camorani@gmail.com> - 2015-09-14 12:12 -0700
Re: TableAdapterManager tipizzato come proprietà di un UserControl "Paperino" <non_te@lo.dico.invalid> - 2015-09-14 21:53 +0200
Re: TableAdapterManager tipizzato come proprietą di un UserControl Luca D <antaniserse@yahoo.it> - 2015-09-14 13:00 -0700
Re: TableAdapterManager tipizzato come proprietą di un UserControl Sacman <d.camorani@gmail.com> - 2015-09-14 13:45 -0700
Re: TableAdapterManager tipizzato come proprietą di un UserControl Sacman <d.camorani@gmail.com> - 2015-09-14 13:43 -0700
csiph-web