Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introducedin
09.1
Description

Excerpt

Sets an ADO.NET DataView as a data source to bind to template data markers.

...

Param
property
property

The DataBindingProperties object which contains information about how the data should be bound to the template.

Param

property

property

The DataBindingProperties object which contains information about how the data should be bound to the template. property Must be specified, but the DataBindingProperties need not be set beforehand. To bind data to a template with the default DataBindingProperties, pass in ExcelTemplate.CreateDataBindingProperties() as the property value. Otherwise, use the ExcelTemplate.CreateDataBindingProperties() method to generate a new DataBindingProperties object and set the DataBindingProperties.MaxRows, DataBindingProperties.Transpose, and/or DataBindingProperties.WorksheetName properties for the workbook.

...

Exception
ArgumentNullException
ArgumentNullException

BindData will throw this exception if the params source or property are null (C#) or Nothing (VB.NET) is passed to the method.

Exception
SARuntimeException
SARuntimeException

BindData will throw this exception if the data source contains more rows than the worksheet can hold.
If there is more than one data marker referring to a data source and the data source is forward only, the exception will be thrown only if the source is larger than all bindings can hold.

Exception
ArgumentExceptionArgumentException
 
Remarks

You can set several data sources for a single template. Use the following methods to set template data sources: BindCellData, BindColumnData,BindRowData, and BindData.

Example
Code Block
csharp
csharp
titleC#
          ExcelTemplate xlt = new ExcelTemplate();
          OleDbConnection Conn = new OleDbConnection();
          DataTable EmployeeDt = null;		  
          try
          {
               //Load data from database
               Conn.ConnectionString = Application["connstring"].ToString();

               //--- SQL Query for employee information
               string EmployeeSQL = "SELECT FirstName + ' ' +
                    LastName As Name, Title " +
                    "FROM Employees WHERE EmployeeID=?";
               OleDbCommand CmdEmployee = new OleDbCommand(EmployeeSQL, Conn);
               CmdEmployee.Parameters.Add("@EmployeeID", EmployeeId);
               OleDbDataAdapter AdptEmployee = new OleDbDataAdapter(CmdEmployee);
               EmployeeDt = new DataTable();
               AdptEmployee.Fill(EmployeeDt);
 
			   //Sort DataView
			   DataView dv = EmployeeDt.DefaultView;
			   dv.Sort = "Employee DESC";
			   
               //Bind DataView          
			   xlt.BindData(dv, "Employee",xlt.CreateDataBindingProperties());
		  }
        
Code Block
vb.net
vb.net
titlevb.net
          Dim xlt As New ExcelTemplate()
          Dim Conn As New OleDbConnection()
          Dim EmployeeDt As DataTable = Nothing
          Try
 
               'Load data from database
               Conn.ConnectionString = Application("connstring").ToString()

               '--- SQL Query for employee information
               Dim EmployeeSQL As String = "SELECT FirstName & ' ' & _
                    LastName As Name, Title " & _
                    "FROM Employees WHERE EmployeeID=?"
               Dim CmdEmployee As New OleDbCommand(EmployeeSQL, Conn)
               CmdEmployee.Parameters.Add("@EmployeeID", EmployeeId)
               Dim AdptEmployee As New OleDbDataAdapter(CmdEmployee)
               EmployeeDt = New DataTable()
               AdptEmployee.Fill(EmployeeDt)  
 
			   'Sort DataView
			   DataView dv = EmployeeDt.DefaultView;
			   dv.Sort = "Employee DESC";
 
               'Bind DataView                  
          	   xlt.BindData(EmployeeDt, "Employee", xlt.CreateDataBindingProperties())
		End Try