Question

Cela semble être une question facile à poser, mais je ne suis pas en mesure de montrer des éléments dans GridView. Voici mon code:

 public partial class TestList : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {   TestProject.DataAccess.Repository.Instance.Initialize(Settings.Default.TestConnection);
            BindData();
        }

    }

    private void BindData()
    {
        //Restriction Info!!
        gvAgentList.DataSource = EntityRegistration.DataAccess.Repository.Instance.GetData();
        gvAgentList.DataBind();
    }

   protected void gvAgentList_PageIndexChanging (object sender, GridViewPageEventArgs e)
    {

        gvAgentList.PageIndex = e.NewPageIndex;
        gvAgentList.DataBind();
    }

   private string ConvertSortDirectionToSql(SortDirection sortDirection)
   {
       string newSortDirection = String.Empty;

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

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

       return newSortDirection;
   }

   protected void gvAgentList_Sorting(object sender, GridViewSortEventArgs e)
   {
       DataTable dataTable = gvAgentList.DataSource as DataTable;

       if (dataTable != null)
       {
           DataView dataView = new DataView(dataTable);
           dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);

           gvAgentList.DataSource = dataView;
           gvAgentList.DataBind();
       }
   }

}

Voici le balisage du GridView:

    <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <p>
    Agent Lists:</p>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
    <asp:GridView runat ="server" ID = "gvAgentList" 
            AllowPaging = "True" 
            AutoGenerateSelectButton="True" AllowSorting="True" BackColor="#E8E8E8" 
            BorderColor="#003399" BorderStyle="Solid" BorderWidth="1px" Height="375px" 
            Width="731px" OnPageIndexChanging = "gvAgentList_PageIndexChanging" 
            OnSorting="gvAgentList_Sorting" >

        <AlternatingRowStyle ForeColor="#0066CC" />
        <HeaderStyle ForeColor="#3366FF" />

    </asp:GridView>

   <asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>



    </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

Le problème est que mon GridView ne me jette aucune exception et par des points d'arrêt, je peux voir que la fonction est appelée dans le code derrière.

Mon tri est ne fonctionne pas: (

Était-ce utile?

La solution

Essayez

protected void gvAgentList_PageIndexChanging (object sender, GridViewPageEventArgs e)
    {

        gvAgentList.PageIndex = e.NewPageIndex;
        BindData();
    }

Autres conseils

Définir la propriété pageindex de gridview par exemple PageIndex = "10"

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top