尝试在单击asp.net Gridview标题时进行排序
我把我的代码和下面的所有步骤放在一起。 Asp.Net代码 下面的排序方法 谁能告诉我我做错了什么?当我单击“OnSort”方法时,它会调用函数,但不会更改任何内容。我检查了这里已经讨论过的所有教程,但是这个东西不起作用。我肯定我错过了一些非常小的细节plx帮助尝试在单击asp.net Gridview标题时进行排序,asp.net,entity-framework,c#-4.0,gridview,Asp.net,Entity Framework,C# 4.0,Gridview,我把我的代码和下面的所有步骤放在一起。 Asp.Net代码 下面的排序方法 谁能告诉我我做错了什么?当我单击“OnSort”方法时,它会调用函数,但不会更改任何内容。我检查了这里已经讨论过的所有教程,但是这个东西不起作用。我肯定我错过了一些非常小的细节plx帮助 <asp:GridView AllowSorting="true" ID="GrdSolicitacoes" runat="server" GridLines="None" AllowPaging="True" PageSize=
<asp:GridView AllowSorting="true" ID="GrdSolicitacoes" runat="server" GridLines="None" AllowPaging="True" PageSize="10" OnPageIndexChanging="GrdSolicitacoes_PageIndexChanging" OnSorting="gvShows_Sorting">
<Columns>
<asp:BoundField DataField="id" HeaderText="Cód." SortExpression="id </asp:BoundField>
<asp:BoundField DataField="cns" DataFormatString="{0:dd/MM/yyyy}" HeaderText="CNS" SortExpression="cns" ></asp:BoundField>
<asp:BoundField DataField="nome" HeaderText="Nome do paciente" SortExpression="nome" ></asp:BoundField>
<asp:BoundField DataField="data_nascimento" HeaderText="Data de nascimento" DataFormatString="{0:dd/MM/yyyy}" SortExpression="data_nascimento </asp:BoundField>
<asp:BoundField DataField="nome_mae" HeaderText="Nome da mãe" SortExpression="nome_mae"></asp:BoundField>
</Columns>
</asp:GridView>
private void populaGrid()
{
private ModelDataContext mdc;
mdc = new ModelDataContext();
try
{
var pacientes = from pac in mdc.Tbl_Pacientes
select new
{
id = pac.id,
cns = pac.cns,
nome = pac.nome,
data_nascimento = pac.data_nascimento,
nome_mae = pac.nome_mae,
idAtendimento = 0
};
GrdSolicitacoes.DataSource = pacientes;
GrdSolicitacoes.DataBind();
}
catch (Exception ex) { Page.ClientScript.RegisterClientScriptBlock(GetType(), "alerta", "alert('Erro ao Consultar')" + ex.Message, true); }
finally { mdc.Dispose(); }
}
private string ConvertSortDirection(SortDirection sortDirection)
{
string newSortDirection = String.Empty;
switch (sortDirection)
{
case SortDirection.Ascending:
newSortDirection = "ASC";
break;
case SortDirection.Descending:
newSortDirection = "DESC";
break;
}
return newSortDirection;
}
protected void gvShows_Sorting(object sender, GridViewSortEventArgs e)
{
Debug.WriteLine("sorting is called");
var dataTable = Session["pacientes"] as DataTable;
if (dataTable != null)
{
var dataView = new DataView(dataTable)
{
Sort = e.SortExpression + " " + ConvertSortDirection(e.SortDirection)
};
GrdSolicitacoes.DataSource = dataView;
GrdSolicitacoes.DataBind();
}
}