我在网格视图中有以下字段:
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%#Eval("JobEstimation").ToString() == "1" ? "Yes" : "No" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
现在如何在此字段中启用排序? “的SortExpression =” 的 ??? “”。
因此,当用户点击排序时,它应该按字母顺序排序。
答案 0 :(得分:1)
如评论中所述,最好在数据库中实现该转换,但与您的问题相关,答案取决于该字段的实际内容。作为一个简单的解决方案,您可以尝试以下代码段:
<asp:TemplateField HeaderText="Job Est" SortExpression="JobEstimation">
<ItemTemplate>....</ItemTemplate>
</asp:TemplateField>
或者,您可以将命令/链接按钮添加到HeaderTemplate
:
<asp:TemplateField SortExpression="JobEstimation">
<HeaderTemplate>
<asp:LinkButton ID="sortJobEst" runat="server" Text="Job Est" CommandName="Sort" CommandArgument="JobEst" />
</HeaderTemplate>
</asp:TemplateField>
并将其挂钩到GridView RowCommand
事件(re:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand(v=vs.110).aspx):
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("Sort"))
{
// add your code to sort
e.CommandArgument.ToString()...
BindGridView();
}
}
希望这可能会有所帮助。