Evento ListObject.ErrorAddDataBoundRow (System 2007)
Aggiornamento: Luglio 2008
Si verifica quando un utente tenta di aggiungere una riga a un controllo ListObject associato a dati, ma l'operazione non ha esito positivo.
Spazio dei nomi: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v9.0 (in Microsoft.Office.Tools.Excel.v9.0.dll)
Sintassi
Public Event ErrorAddDataBoundRow As ErrorAddDataBoundRowEventHandler
Dim instance As ListObject
Dim handler As ErrorAddDataBoundRowEventHandler
AddHandler instance.ErrorAddDataBoundRow, handler
public event ErrorAddDataBoundRowEventHandler ErrorAddDataBoundRow
Note
Questo evento viene generato solo se il controllo ListObject è associato a dati.
Gestire questo evento per tentare di correggere i possibili errori.
Esempi
Nell'esempio di codice riportato di seguito viene creato un oggetto DataTable e un controllo ListObject, quindi viene eseguita l'associazione tra il controllo ListObject e l'oggetto DataTable. Viene infine creato un gestore per l'evento ErrorAddDataboundRow(). Per eseguire il test dell'evento, aggiungere una nuova riga al controllo ListObject, quindi immettere il cognome "Chan" e un nome qualsiasi. Il gestore eventi visualizzerà un messaggio.
Questa versione è valida per una personalizzazione a livello di documento.
WithEvents ErrorAddDataBoundRowList As _
Microsoft.Office.Tools.Excel.ListObject
Private Sub ListObject_ErrorAddDataBoundRow()
' Create a new DataSet and DataTable.
Dim ds As New DataSet()
Dim dt As DataTable = ds.Tables.Add("Customers")
Dim lastName As New DataColumn("LastName")
dt.Columns.Add(lastName)
dt.Columns.Add(New DataColumn("FirstName"))
Dim myUC As New UniqueConstraint("CustConstraint", _
lastName)
dt.Constraints.Add(myUC)
' Add a new row to the DataTable.
Dim dr As DataRow = dt.NewRow()
dr("LastName") = "Chan"
dr("FirstName") = "Gareth"
dt.Rows.Add(dr)
' Create a list object.
ErrorAddDataBoundRowList = _
Me.Controls.AddListObject(Me.Range("A1"), _
"ErrorAddDataBoundRowList")
' Bind the list object to the DataTable.
ErrorAddDataBoundRowList.AutoSetDataBoundColumnHeaders = True
ErrorAddDataBoundRowList.SetDataBinding(ds, "Customers", _
"LastName", "FirstName")
End Sub
Private Sub List1_ErrorAddDataBoundRow(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ErrorAddDataBoundRowEventArgs) _
Handles ErrorAddDataBoundRowList.ErrorAddDataBoundRow
MessageBox.Show("Last names must be unique.")
End Sub
private void ListObject_ErrorAddDataBoundRow()
{
// Create a new DataSet and DataTable.
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add("Customers");
DataColumn lastName = new DataColumn("LastName");
dt.Columns.Add(lastName);
dt.Columns.Add(new DataColumn("FirstName"));
UniqueConstraint myUC = new UniqueConstraint( "CustConstraint",
lastName);
dt.Constraints.Add(myUC);
// Add a new row to the DataTable.
DataRow dr = dt.NewRow();
dr["LastName"] = "Chan";
dr["FirstName"] = "Gareth";
dt.Rows.Add(dr);
// Create a list object.
Microsoft.Office.Tools.Excel.ListObject list1 =
this.Controls.AddListObject(
this.Range["A1", missing], "list1");
// Bind the list object to the DataTable.
list1.AutoSetDataBoundColumnHeaders = true;
list1.SetDataBinding(ds, "Customers", "LastName",
"FirstName");
// Create the event handler.
list1.ErrorAddDataBoundRow += new
Microsoft.Office.Tools.Excel.
ErrorAddDataBoundRowEventHandler(list1_ErrorAddDataBoundRow);
}
void list1_ErrorAddDataBoundRow(object sender,
Microsoft.Office.Tools.Excel.ErrorAddDataBoundRowEventArgs e)
{
MessageBox.Show("Last names must be unique.");
}
Questa versione è valida per un componente aggiuntivo a livello di applicazione. Per utilizzare questo esempio di codice, aggiungere la direttiva using System.Data; se si utilizza C# o l'istruzione Imports System.Data se si utilizza Visual Basic.
WithEvents ErrorAddDataBoundRowList As ListObject
Private Sub ListObject_ErrorAddDataBoundRow()
' Create a new DataSet and DataTable.
Dim ds As New DataSet()
Dim dt As DataTable = ds.Tables.Add("Customers")
Dim lastName As New DataColumn("LastName")
dt.Columns.Add(lastName)
dt.Columns.Add(New DataColumn("FirstName"))
Dim myUC As New UniqueConstraint("CustConstraint", _
lastName)
dt.Constraints.Add(myUC)
' Add a new row to the DataTable.
Dim dr As DataRow = dt.NewRow()
dr("LastName") = "Chan"
dr("FirstName") = "Gareth"
dt.Rows.Add(dr)
' Create a list object.
Dim vstoWorksheet As Worksheet = CType( _
Me.Application.ActiveWorkbook.Worksheets(1), _
Excel.Worksheet).GetVstoObject()
ErrorAddDataBoundRowList = _
vstoWorksheet.Controls.AddListObject(vstoWorksheet.Range("A1"), _
"ErrorAddDataBoundRowList")
' Bind the list object to the DataTable.
ErrorAddDataBoundRowList.AutoSetDataBoundColumnHeaders = True
ErrorAddDataBoundRowList.SetDataBinding(ds, "Customers", _
"LastName", "FirstName")
End Sub
Private Sub List1_ErrorAddDataBoundRow(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Excel.ErrorAddDataBoundRowEventArgs) _
Handles ErrorAddDataBoundRowList.ErrorAddDataBoundRow
System.Windows.Forms.MessageBox.Show("Last names must be unique.")
End Sub
private void ListObject_ErrorAddDataBoundRow()
{
// Create a new DataSet and DataTable.
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add("Customers");
DataColumn lastName = new DataColumn("LastName");
dt.Columns.Add(lastName);
dt.Columns.Add(new DataColumn("FirstName"));
UniqueConstraint myUC = new UniqueConstraint("CustConstraint",
lastName);
dt.Constraints.Add(myUC);
// Add a new row to the DataTable.
DataRow dr = dt.NewRow();
dr["LastName"] = "Chan";
dr["FirstName"] = "Gareth";
dt.Rows.Add(dr);
// Create a list object.
Worksheet vstoWorksheet = ((Excel.Worksheet)
this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
ListObject list1 =
vstoWorksheet.Controls.AddListObject(
vstoWorksheet.Range["A1", missing], "list1");
// Bind the list object to the DataTable.
list1.AutoSetDataBoundColumnHeaders = true;
list1.SetDataBinding(ds, "Customers", "LastName",
"FirstName");
// Create the event handler.
list1.ErrorAddDataBoundRow += new
ErrorAddDataBoundRowEventHandler(list1_ErrorAddDataBoundRow);
}
void list1_ErrorAddDataBoundRow(object sender,
Microsoft.Office.Tools.Excel.ErrorAddDataBoundRowEventArgs e)
{
System.Windows.Forms.MessageBox.Show("Last names must be unique.");
}
Autorizzazioni
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.Office.Tools.Excel
Cronologia delle modifiche
Date |
History |
Motivo |
---|---|---|
Luglio 2008 |
Aggiunta una versione dell'esempio di codice per un componente aggiuntivo a livello di applicazione. |
Modifica di funzionalità in SP1. |