RemoteBindableComponent Classe (sistema de 2007)
Fornece uma implementação padrão do IBindableComponent interface para controles de host no Visual Studio Tools for Office soluções.
Namespace: Microsoft.VisualStudio.Tools.Office
Assembly: Microsoft.Office.Tools.v9.0 (em Microsoft.Office.Tools.v9.0.dll)
Sintaxe
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public MustInherit Class RemoteBindableComponent _
Inherits RemoteComponent _
Implements IBindableComponent, IComponent, IDisposable
Dim instance As RemoteBindableComponent
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public abstract class RemoteBindableComponent : RemoteComponent,
IBindableComponent, IComponent, IDisposable
Comentários
Hospedar controles que podem ser limite dados herdam o RemoteBindableComponent classe. Esta classe não se destina a ser usado diretamente em seu código.
Para obter mais informações sobre controles de host, consulte Itens de host e Visão geral sobre controles de host.
Exemplos
O exemplo de código a seguir adiciona uma única célula NamedRange controle (que deriva de RemoteBindableComponent), um DataSet com uma única coluna de nomes e um Button a planilha corrente. O exemplo usa o DataBindings propriedade para BIND a DataSet para o Value2 propriedade das NamedRange. Quando o Button é clicado, o exemplo usa o BindingContext propriedade para exibir o nome na próximo a NamedRange.
Private namedRange1 As Microsoft.Office.Tools.Excel.NamedRange
PrivateWithEvents button1 As Microsoft.Office.Tools.Excel.Controls.Button
Private customerNames AsString() = _
{"Reggie", "Sally", "Henry", "Christine"}
Private ds As DataSet
PrivateSub SetBindingContext()
namedRange1 = Me.Controls.AddNamedRange(Me.Range("A1", _
System.Type.Missing), "namedRange1")
' Create a button that scrolls through the data ' displayed in the NamedRange.
button1 = Me.Controls.AddButton(50, 20, 100, 20, "button1")
button1.Text = "Display next item"
' Create a data table with one column.
ds = New DataSet()
Dim table As DataTable = ds.Tables.Add("Customers")
Dim column1 AsNew DataColumn("Names", GetType(String))
table.Columns.Add(column1)
' Add the names to the table.Dim row As DataRow
Dim i AsIntegerFor i = 0 To customerNames.Length - 1
row = table.NewRow()
row("Names") = customerNames(i)
table.Rows.Add(row)
Next i
' Create a new Binding that links the Value2 property ' of the NamedRange and the Names column.Dim binding1 AsNew Binding("Value2", ds, "Customers.Names", True)
namedRange1.DataBindings.Add(binding1)
EndSub
' Displays the next data item in the NamedRange.PrivateSub button1_Click(ByVal sender AsObject, ByVal e As EventArgs) _
Handles button1.Click
IfNot (namedRange1.BindingContext IsNothing) ThenDim bindingManager1 As BindingManagerBase = _
namedRange1.BindingContext(ds, "Customers")
' Display the next item.If bindingManager1.Position < bindingManager1.Count - 1 Then
bindingManager1.Position += 1
' Display the first item.Else
bindingManager1.Position = 0
EndIfEndIfEndSub
private Microsoft.Office.Tools.Excel.NamedRange namedRange1;
private Microsoft.Office.Tools.Excel.Controls.Button button1;
privatestring[] customerNames =
{ "Reggie", "Sally", "Henry", "Christine" };
private DataSet ds;
privatevoid SetBindingContext()
{
namedRange1 = this.Controls.AddNamedRange(
this.Range["A1", missing], "namedRange1");
// Create a button that scrolls through the data // displayed in the NamedRange.
button1 = this.Controls.AddButton(50, 20, 100, 20,
"button1");
button1.Text = "Display next item";
button1.Click += new EventHandler(button1_Click);
// Create a data table with one column.
ds = new DataSet();
DataTable table = ds.Tables.Add("Customers");
DataColumn column1 = new DataColumn("Names", typeof(string));
table.Columns.Add(column1);
// Add the names to the table.
DataRow row;
for (int i = 0; i < customerNames.Length; i++)
{
row = table.NewRow();
row["Names"] = customerNames[i];
table.Rows.Add(row);
}
// Create a new Binding that links the Value2 property// of the NamedRange and the Names column.
Binding binding1 = new Binding("Value2", ds, "Customers.Names", true);
namedRange1.DataBindings.Add(binding1);
}
// Displays the next data item in the NamedRange.void button1_Click(object sender, EventArgs e)
{
if (namedRange1.BindingContext != null)
{
BindingManagerBase bindingManager1 =
namedRange1.BindingContext[ds, "Customers"];
// Display the next item.if (bindingManager1.Position < bindingManager1.Count - 1)
{
bindingManager1.Position++;
}
// Display the first item.else
{
bindingManager1.Position = 0;
}
}
}
Hierarquia de herança
System.Object
Microsoft.VisualStudio.Tools.Office.RemoteComponent
Microsoft.VisualStudio.Tools.Office.RemoteBindableComponent
Microsoft.Office.Tools.Excel.Chart
Microsoft.Office.Tools.Excel.ListObject
Microsoft.Office.Tools.Excel.NamedRange
Microsoft.Office.Tools.Excel.XmlMappedRange
Microsoft.Office.Tools.Word.Bookmark
Microsoft.Office.Tools.Word.ContentControlBase
Microsoft.Office.Tools.Word.XMLNode
Acesso thread-safe
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Consulte também
Referência
Membros RemoteBindableComponent
Namespace Microsoft.VisualStudio.Tools.Office