ErrorAddDataBoundRowEventArgs Interface
Provides information for the ErrorAddDataBoundRow event.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Syntax
'Declaration
<GuidAttribute("eca34a5d-a43c-4be4-a24a-49d49ae4519b")> _
Public Interface ErrorAddDataBoundRowEventArgs
[GuidAttribute("eca34a5d-a43c-4be4-a24a-49d49ae4519b")]
public interface ErrorAddDataBoundRowEventArgs
The ErrorAddDataBoundRowEventArgs type exposes the following members.
Properties
Name | Description | |
---|---|---|
InnerException | Gets the Exception instance that caused the current exception. | |
Item | Gets the new item that the ListObject attempted to add to the data source. | |
Retry | Gets or sets a value indicating whether the ListObject should attempt to add the item again. |
Top
Remarks
The ErrorAddDataBoundRow event is raised by the ListObject control if an exception occurs during an attempt to add a new row to the data source bound to the ListObject. The Item property can be used to get the new item that the ListObject tried to add. The InnerException property provides the exception that was thrown, and the Retry property can be used to indicate whether another attempt to add this row should be made.
Examples
The following code example creates a DataTable and a ListObject, and binds the ListObject to the DataTable. It then creates an ErrorAddDataBoundRow event handler. To test the event, manually add a new row to the ListObject and enter the last name "Chan" and a first name. The event handler displays a message.
This example is for a document-level customization.
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.");
}