troubleshooting Question

using Gridview add.column and AccessDataSource

Avatar of goodk
goodkFlag for United States of America asked on
C#Visual Basic.NETEditors IDEs
8 Comments4 Solutions564 ViewsLast Modified:
all I want to do was use Access DataSource with this msdn example and ability to add.column
AccessDataSource Access_DS1 = new AccessDataSource(
"myDB.mdb","Select * from MyTable");

code location
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<script runat="server">

  protected void TaskGridView_Sorting(object sender, GridViewSortEventArgs e)

    //Retrieve the table from the session object.
    DataTable dt = Session["TaskTable"] as DataTable;

    if (dt != null)

      //Sort the data.
      dt.DefaultView.Sort = e.SortExpression + " " + GetSortDirection(e.SortExpression);
      TaskGridView.DataSource = Session["TaskTable"];


  private string GetSortDirection(string column)

    // By default, set the sort direction to ascending.
    string sortDirection = "ASC";

    // Retrieve the last column that was sorted.
    string sortExpression = ViewState["SortExpression"] as string;

    if (sortExpression != null)
      // Check if the same column is being sorted.
      // Otherwise, the default value can be returned.
      if (sortExpression == column)
        string lastDirection = ViewState["SortDirection"] as string;
        if ((lastDirection != null) && (lastDirection == "ASC"))
          sortDirection = "DESC";

    // Save new values in ViewState.
    ViewState["SortDirection"] = sortDirection;
    ViewState["SortExpression"] = column;

    return sortDirection;

  protected void Page_Load(object sender, EventArgs e)

    if (!Page.IsPostBack)

      // Create a new table.
      DataTable taskTable = new DataTable("TaskList");

      // Create the columns.
      taskTable.Columns.Add("Id", typeof(int));
      taskTable.Columns.Add("Description", typeof(string));

      //Add data to the new table.
      for (int i = 0; i < 10; i++)
        DataRow tableRow = taskTable.NewRow();
        tableRow["Id"] = i;
        tableRow["Description"] = "Task " + (10 - i).ToString();

      //Persist the table in the Session object.
      Session["TaskTable"] = taskTable;

      //Bind the GridView control to the data source.
      TaskGridView.DataSource = Session["TaskTable"];




<html >
<head runat="server">
    <title>Sorting example</title>
    <form id="form1" runat="server">

      <asp:GridView ID="TaskGridView" runat="server"
        OnSorting="TaskGridView_Sorting" >

Join the community to see this answer!
Join our exclusive community to see this answer & millions of others.
Unlock 4 Answers and 8 Comments.
Join the Community
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 4 Answers and 8 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros