RemoteBindableComponent Класс (2007 System)
Обновлен: Ноябрь 2007
Предоставляет стандартную реализацию интерфейса IBindableComponent для элементов управления ведущего приложения в решениях Visual Studio Tools for Office.
Пространство имен: Microsoft.VisualStudio.Tools.Office
Сборка: Microsoft.Office.Tools.v9.0 (в Microsoft.Office.Tools.v9.0.dll)
Синтаксис
'Декларация
<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
Заметки
Элементы управления ведущего приложения, которые можно связать с данными, наследуются от класса RemoteBindableComponent. Данный класс не предназначен для непосредственного использования в коде.
Дополнительные сведения об элементах управления ведущего приложения см. в разделе Общие сведения о ведущих элементах и элементах управления ведущего приложения.
Примеры
В следующем примере кода на текущий лист добавляется одна ячейка элемента управления NamedRange (производная от RemoteBindableComponent), DataSet с одним столбцом имен и Button. В данном примере используется свойство DataBindings для привязки DataSet к свойству Value2 класса NamedRange. При нажатии кнопки Button в примере используется свойство BindingContext для отображения следующего имени в NamedRange.
Private namedRange1 As Microsoft.Office.Tools.Excel.NamedRange
Private WithEvents button1 As Microsoft.Office.Tools.Excel.Controls.Button
Private customerNames As String() = _
{"Reggie", "Sally", "Henry", "Christine"}
Private ds As DataSet
Private Sub 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 As New DataColumn("Names", GetType(String))
table.Columns.Add(column1)
' Add the names to the table.
Dim row As DataRow
Dim i As Integer
For 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 As New Binding("Value2", ds, "Customers.Names", True)
namedRange1.DataBindings.Add(binding1)
End Sub
' Displays the next data item in the NamedRange.
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
If Not (namedRange1.BindingContext Is Nothing) Then
Dim 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
End If
End If
End Sub
private Microsoft.Office.Tools.Excel.NamedRange namedRange1;
private Microsoft.Office.Tools.Excel.Controls.Button button1;
private string[] customerNames =
{ "Reggie", "Sally", "Henry", "Christine" };
private DataSet ds;
private void 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;
}
}
}
Иерархия наследования
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
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
RemoteBindableComponent - члены
Microsoft.VisualStudio.Tools.Office - пространство имен
Другие ресурсы
Общие сведения о ведущих элементах и элементах управления ведущего приложения