BindingContext.Item[] Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en BindingManagerBase.
Överlagringar
| Name | Description |
|---|---|
| Item[Object, String] |
Hämtar en BindingManagerBase som är associerad med den angivna datakällan och datamedlemmen. |
| Item[Object] |
Hämtar det BindingManagerBase som är associerat med den angivna datakällan. |
Item[Object, String]
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
Hämtar en BindingManagerBase som är associerad med den angivna datakällan och datamedlemmen.
public:
property System::Windows::Forms::BindingManagerBase ^ default[System::Object ^, System::String ^] { System::Windows::Forms::BindingManagerBase ^ get(System::Object ^ dataSource, System::String ^ dataMember); };
public System.Windows.Forms.BindingManagerBase this[object dataSource, string dataMember] { get; }
public System.Windows.Forms.BindingManagerBase this[object dataSource, string? dataMember] { get; }
member this.Item(obj * string) : System.Windows.Forms.BindingManagerBase
Default Public ReadOnly Property Item(dataSource As Object, dataMember As String) As BindingManagerBase
Parametrar
- dataSource
- Object
Datakällan som är associerad med en viss BindingManagerBase.
- dataMember
- String
En navigeringssökväg som innehåller den information som matchar en specifik BindingManagerBase.
Egenskapsvärde
BindingManagerBase För den angivna datakällan och datamedlemmen.
Undantag
Den angivna dataMember finns inte i datakällan.
Exempel
Följande kodexempel visar hur du använder Item[] för att hämta BindingManagerBase för en viss bindning. Den visar också hur du hanterar BindingComplete händelsen för BindingManagerBase att säkerställa att flera kontroller som är bundna till samma datakälla förblir synkroniserade när ett av kontrollvärdena ändras. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär och anropar metoden InitializeControlsAndData från formulärets konstruktor eller Load händelsehanteringsmetod.
private void InitializeControlsAndData()
{
// Initialize the controls and set location, size and
// other basic properties.
this.dataGridView1 = new DataGridView();
this.textBox1 = new TextBox();
this.textBox2 = new TextBox();
this.dataGridView1.ColumnHeadersHeightSizeMode =
DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Dock = DockStyle.Top;
this.dataGridView1.Location = new Point(0, 0);
this.dataGridView1.Size = new Size(292, 150);
this.textBox1.Location = new Point(132, 156);
this.textBox1.Size = new Size(100, 20);
this.textBox2.Location = new Point(12, 156);
this.textBox2.Size = new Size(100, 20);
this.ClientSize = new Size(292, 266);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.dataGridView1);
// Declare the DataSet and add a table and column.
DataSet set1 = new DataSet();
set1.Tables.Add("Menu");
set1.Tables[0].Columns.Add("Beverages");
// Add some rows to the table.
set1.Tables[0].Rows.Add("coffee");
set1.Tables[0].Rows.Add("tea");
set1.Tables[0].Rows.Add("hot chocolate");
set1.Tables[0].Rows.Add("milk");
set1.Tables[0].Rows.Add("orange juice");
// Add the control data bindings.
dataGridView1.DataSource = set1;
dataGridView1.DataMember = "Menu";
textBox1.DataBindings.Add("Text", set1,
"Menu.Beverages", true, DataSourceUpdateMode.OnPropertyChanged);
textBox2.DataBindings.Add("Text", set1,
"Menu.Beverages", true, DataSourceUpdateMode.OnPropertyChanged);
BindingManagerBase bmb = this.BindingContext[set1, "Menu"];
bmb.BindingComplete += new BindingCompleteEventHandler(bmb_BindingComplete);
}
private void bmb_BindingComplete(object sender, BindingCompleteEventArgs e)
{
// Check if the data source has been updated, and that no error has occurred.
if (e.BindingCompleteContext ==
BindingCompleteContext.DataSourceUpdate && e.Exception == null)
// If not, end the current edit.
e.Binding.BindingManagerBase.EndCurrentEdit(); ;
}
Dim WithEvents bmb As BindingManagerBase
Private Sub InitializeControlsAndData()
' Initialize the controls and set location, size and
' other basic properties.
Me.dataGridView1 = New DataGridView()
Me.textBox1 = New TextBox()
Me.textBox2 = New TextBox()
Me.dataGridView1.ColumnHeadersHeightSizeMode = _
DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dataGridView1.Dock = DockStyle.Top
Me.dataGridView1.Location = New Point(0, 0)
Me.dataGridView1.Size = New Size(292, 150)
Me.textBox1.Location = New Point(132, 156)
Me.textBox1.Size = New Size(100, 20)
Me.textBox2.Location = New Point(12, 156)
Me.textBox2.Size = New Size(100, 20)
Me.ClientSize = New Size(292, 266)
Me.Controls.Add(Me.textBox2)
Me.Controls.Add(Me.textBox1)
Me.Controls.Add(Me.dataGridView1)
' Declare the DataSet and add a table and column.
Dim set1 As New DataSet()
set1.Tables.Add("Menu")
set1.Tables(0).Columns.Add("Beverages")
' Add some rows to the table.
set1.Tables(0).Rows.Add("coffee")
set1.Tables(0).Rows.Add("tea")
set1.Tables(0).Rows.Add("hot chocolate")
set1.Tables(0).Rows.Add("milk")
set1.Tables(0).Rows.Add("orange juice")
' Add the control data bindings.
dataGridView1.DataSource = set1
dataGridView1.DataMember = "Menu"
textBox1.DataBindings.Add("Text", set1, "Menu.Beverages", _
True, DataSourceUpdateMode.OnPropertyChanged)
textBox2.DataBindings.Add("Text", set1, "Menu.Beverages", _
True, DataSourceUpdateMode.OnPropertyChanged)
' Get the BindingManagerBase for this binding.
bmb = Me.BindingContext(set1, "Menu")
End Sub
Private Sub bmb_BindingComplete(ByVal sender As Object, ByVal e As BindingCompleteEventArgs) _
Handles bmb.BindingComplete
' Check if the data source has been updated, and that no error has occurred.
If e.BindingCompleteContext = BindingCompleteContext.DataSourceUpdate _
AndAlso e.Exception Is Nothing Then
' If not, end the current edit.
e.Binding.BindingManagerBase.EndCurrentEdit()
End If
End Sub
Kommentarer
Använd den här överlagringen BindingManagerBase när hanterar en uppsättning Binding objekt som datakällan innehåller flera objekt för. En kan till exempel DataSet innehålla flera DataTable objekt som länkas av DataRelation objekt. I sådana fall krävs navigeringssökvägen för att aktivera BindingContext för att returnera rätt BindingManagerBase.
Note
Egenskapen Item[] returnerar alltid en BindingManagerBase, när parametern dataMember är giltig. Den kommer aldrig att returnera null.
Binding Se klassen för en lista över möjliga datakällor och för information om hur du skapar bindningar mellan kontroller och datakällor.
Om den önskade BindingManagerBase hanterar en lista måste navigeringssökvägen också sluta med en lista. Följande C#-kod binder till exempel en TextBox kontroll till orderdatumet i en tabell med beställningar. Navigeringssökvägen innehåller TableName, RelationName, och ColumnName. Måste dock BindingManagerBase hämtas med endast TableName och RelationName (som matchas till en lista).
// The navigation path for a Binding ends with a property.
textBox1.DataBindings.Add
("Text", dataSet1, "Customers.custToOrders.OrderDate");
// The navigation path for the BindingManagerBase ends with a list.
BindingManagerBase bmOrders = this.BindingContext
[dataSet1, "Customers.custToOrders"];
När du returnerar en BindingManagerBasebör du använda samma datakälla som Binding och endast ändra navigeringssökvägen.
Contains Använd metoden för att avgöra om det önskade BindingManagerBase redan finns.
Se även
Gäller för
Item[Object]
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
- Källa:
- BindingContext.cs
Hämtar det BindingManagerBase som är associerat med den angivna datakällan.
public:
property System::Windows::Forms::BindingManagerBase ^ default[System::Object ^] { System::Windows::Forms::BindingManagerBase ^ get(System::Object ^ dataSource); };
public System.Windows.Forms.BindingManagerBase this[object dataSource] { get; }
member this.Item(obj) : System.Windows.Forms.BindingManagerBase
Default Public ReadOnly Property Item(dataSource As Object) As BindingManagerBase
Parametrar
- dataSource
- Object
Datakällan som är associerad med en viss BindingManagerBase.
Egenskapsvärde
A BindingManagerBase för den angivna datakällan.
Exempel
I följande kodexempel returneras tre BindingManagerBase objekt: ett för ett DataView, ett för ett ArrayListoch ett för DataSource ett Binding som tillhör en TextBox kontroll.
void ReturnBindingManagerBase()
{
// Get the BindingManagerBase for a DataView.
BindingManagerBase^ bmCustomers = this->BindingContext[ myDataView ];
/* Get the BindingManagerBase for an ArrayList. */
BindingManagerBase^ bmOrders = this->BindingContext[ myArrayList ];
// Get the BindingManagerBase for a TextBox control.
BindingManagerBase^ baseArray = this->BindingContext[ textBox1->DataBindings[ nullptr ]->DataSource ];
}
private void ReturnBindingManagerBase()
{
// Get the BindingManagerBase for a DataView.
BindingManagerBase bmCustomers =
this.BindingContext [myDataView];
/* Get the BindingManagerBase for an ArrayList. */
BindingManagerBase bmOrders =
this.BindingContext[myArrayList];
// Get the BindingManagerBase for a TextBox control.
BindingManagerBase baseArray =
this.BindingContext[textBox1.DataBindings[0].DataSource];
}
Private Sub ReturnBindingManagerBase()
' Get the BindingManagerBase for a DataView.
Dim bmCustomers As BindingManagerBase = _
Me.BindingContext(myDataView)
' Get the BindingManagerBase for an ArrayList.
Dim bmOrders As BindingManagerBase = _
Me.BindingContext(myArrayList)
' Get the BindingManagerBase for a TextBox control.
Dim baseArray As BindingManagerBase = _
Me.BindingContext(Text1.DataBindings(0).DataSource)
End Sub
Kommentarer
Använd den här överlagringen om du BindingManagerBase inte behöver någon navigeringssökväg. Om till BindingManagerBase exempel hanterar en uppsättning Binding objekt som använder en ArrayList eller DataTable som DataSourcekrävs ingen navigeringssökväg.
Note
Egenskapen Item[] returnerar alltid en BindingManagerBase, och returnerar nullaldrig .
Binding Se klassen för en lista över möjliga datakällor och för information om hur du skapar bindningar mellan kontroller och datakällor.