using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using APNSoft.WebControls;

public partial class DataGrid_CustomAJAXCall : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        //Apply event-handling method
        myDataGrid.CallTheServer += new DataGridEventHandler(myDataGrid_CallTheServer);

        //Define SQL query
        string SqlQuery = @"SELECT '0' as LineNumbers, ISBN, Title, Synopsis FROM Books";

        //Get DataTable (MS Access Database)
        DataTable myDataSource = DataBase.GetDataTableOleDb(SqlQuery, "~/DataGrid/DataBases/Books.mdb");

        //Set the data source
        myDataGrid.KeyFieldName = "ISBN";
        myDataGrid.DataSource = myDataSource;
        myDataGrid.DataBind();


        //Format Columns
        myDataGrid.Columns["LineNumbers"].LineNumbers = true;
        myDataGrid.Columns["LineNumbers"].FormatType = typeof(System.String);
        myDataGrid.Columns["LineNumbers"].FormatString = "{0}.";
        myDataGrid.Columns["LineNumbers"].CssClass = "LineNumbers";
        myDataGrid.Columns["LineNumbers"].Width = 40;
        myDataGrid.Columns["LineNumbers"].Sortable = false;
        myDataGrid.Columns["LineNumbers"].Resizable = false;
        myDataGrid.Columns["LineNumbers"].HeaderText = "";

        myDataGrid.Columns["ISBN"].Visible = false;
        myDataGrid.Columns["Title"].Width = 410;
        myDataGrid.Columns["Title"].HeaderText = "Book title:";
        myDataGrid.Columns["Synopsis"].Visible = false;
    }


    //Server-side procedure for the CallTheServer event
    private void myDataGrid_CallTheServer(object sender, DataGridEventArgs e)
    {
        //Get Row Data
        GridRow myGridRow = e.GridRow;

        //Get book details
        string BookDetails = "";
        BookDetails += "<img src='" + "./Images/Books/" + myGridRow.Cells["ISBN"].Value.ToString() + ".gif" + "' align='left' vspace='4' style='padding-right:16px;padding-bottom:70px;'/>";
        BookDetails += "<small>" + myGridRow.Cells["Synopsis"].Value.ToString() + "</small>";

        BookDetails = BookDetails.Replace("\r\n", "<br/>");

        //Set book details as parameter
        e.Parameter = BookDetails;
    }

}