paginación y clasificación en vista de cuadrícula

Tengo un código que realiza la paginación y la clasificación en la vista de cuadrícula.

(bing_grid es una función definida por el usuario)

public void bind_grid()
    {
        con = new SqlConnection();
        con.ConnectionString = "Data Source=STIRAPC105;InitialCatalog=anitha;Integrated Security=True";
        con.Open();

        SqlDataAdapter sqa = new SqlDataAdapter("select * from employees", con);
        DataSet ds = new DataSet();
        sqa.Fill(ds);
        DataTable mytab = ds.Tables[0];

        GridView1.DataSource = mytab;
        GridView1.DataBind();
        //con.Close();

    }

código para paginación

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;

        bind_grid();

    }

código para clasificar

    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {

        DataTable dt = GridView1.DataSource as DataTable;
        if (dt != null)
        {
            DataView dataview = new DataView(dt);
            dataview.Sort = e.SortExpression + " " + sort_grid(e.SortDirection);
            GridView1.DataSource = dataview;
            GridView1.DataBind();
        }
    }

código definido por el usuario para clasificar

public string sort_grid()
    {
        string newSortDirection = String.Empty;

        switch (sortDirection)
        {
            case SortDirection.Ascending:
                newSortDirection = "ASC";
                break;

            case SortDirection.Descending:
                newSortDirection = "DESC";
                break;
        }

        return newSortDirection;
    }

La paginación funciona, los errores fueron:

1. "no overload for method 'sort_grid' takes 1 argument" (dataview.Sort = e.SortExpression + " " + sort_grid(e.SortDirection);)

2.The name 'sortDirection does not exist in the current context. (switch (sortDirection))

Ayúdame amigos.

preguntado el 10 de mayo de 11 a las 14:05

1 Respuestas

este método:

public string sort_grid()

no toma argumentos pero está intentando llamarlo con e.SortDirection:

dataview.Sort = e.SortExpression + " " + sort_grid(e.SortDirection);

Debe cambiar la firma de sort_grid () a

sort_grid(SortDirection sortDirection)

Esto también resolverá su segundo problema, que está intentando usar la variable sortDirection, antes de declararla en el método sort_grid.

contestado el 10 de mayo de 11 a las 18:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.