C# ASP.NET动态数据站点:强制按字母顺序排列第一列
我已在此处部署了ASP.NET动态数据站点:C# ASP.NET动态数据站点:强制按字母顺序排列第一列,c#,asp.net,asp.net-dynamic-data,C#,Asp.net,Asp.net Dynamic Data,我已在此处部署了ASP.NET动态数据站点: 通过单击列名可以按字母顺序排列列,但是如何设置站点以自动按字母顺序排列第一列?首先,简单的答案是对数据源进行排序 在获取数据之前使用order by(form DB)或在获取对象之后使用linq sort对象…首先,简单的答案是对数据源进行排序 在获取数据之前使用order by(form DB)或在获取对象之后使用linq sort objects…您有许多可用的选项,具体取决于您希望哪台机器承担订购负担 1。您可以在DB服务器上创建一个存储过程,
通过单击列名可以按字母顺序排列列,但是如何设置站点以自动按字母顺序排列第一列?首先,简单的答案是对数据源进行排序
在获取数据之前使用order by(form DB)或在获取对象之后使用linq sort对象…首先,简单的答案是对数据源进行排序
在获取数据之前使用order by(form DB)或在获取对象之后使用linq sort objects…您有许多可用的选项,具体取决于您希望哪台机器承担订购负担 1。您可以在DB服务器上创建一个存储过程,该存储过程将
从。。。按…订购。
并在.dbml中使用它
2。您提到您使用的是从.dbml生成的Linq to SQL类,因此我假设您在.aspx页面中使用的是LinqDataSource
在设计器中,您可以在LinqDataSource
上选择“配置数据源”:
然后从.dbml中选择上下文,在下一个屏幕上,您可以选择按以下方式排序:
3.使用在设计时没有特定表结构的优势。因此,您需要创建一个将在运行时发生的排序。您可以编辑dynamicata\PageTemplates\List.aspx.cs
以包括以下内容:
protected void Page_Load(object sender, EventArgs e)
{
Title = table.DisplayName;
// Disable various options if the table is readonly
if (table.IsReadOnly)
{
GridView1.Columns[0].Visible = false;
InsertHyperLink.Visible = false;
GridView1.EnablePersistedSelection = false;
}
// Add our sort to the first data column.
if (!Page.IsPostBack)
{
GridView1.Sort(table.Columns[0].Name, SortDirection.Ascending);
}
}
您有很多选择,这取决于您希望订购哪台机器 1。您可以在DB服务器上创建一个存储过程,该存储过程将
从。。。按…订购。
并在.dbml中使用它
2。您提到您使用的是从.dbml生成的Linq to SQL类,因此我假设您在.aspx页面中使用的是LinqDataSource
在设计器中,您可以在LinqDataSource
上选择“配置数据源”:
然后从.dbml中选择上下文,在下一个屏幕上,您可以选择按以下方式排序:
3.使用在设计时没有特定表结构的优势。因此,您需要创建一个将在运行时发生的排序。您可以编辑dynamicata\PageTemplates\List.aspx.cs
以包括以下内容:
protected void Page_Load(object sender, EventArgs e)
{
Title = table.DisplayName;
// Disable various options if the table is readonly
if (table.IsReadOnly)
{
GridView1.Columns[0].Visible = false;
InsertHyperLink.Visible = false;
GridView1.EnablePersistedSelection = false;
}
// Add our sort to the first data column.
if (!Page.IsPostBack)
{
GridView1.Sort(table.Columns[0].Name, SortDirection.Ascending);
}
}
从dbml绑定数据之后 您可以使用linq语句将数据绑定到网格或列表中 编写类似的代码 在下面的示例代码中,我刚刚添加了绑定数据的排序 按公司名称升序订购
var Company = from Company in _c.Company_Name
orderby _c.Company_Name
select Company;
按公司名称排序
var Company = from Company in _c.Company_Name
orderby _c.Company_Name descending
select Company;
尝试此方法,希望在绑定来自dbml的数据后,它将有所帮助 您可以使用linq语句将数据绑定到网格或列表中 编写类似的代码 在下面的示例代码中,我刚刚添加了绑定数据的排序 按公司名称升序订购
var Company = from Company in _c.Company_Name
orderby _c.Company_Name
select Company;
按公司名称排序
var Company = from Company in _c.Company_Name
orderby _c.Company_Name descending
select Company;
试试这个,希望它会有所帮助。您可以使用displaycolumn属性指定应该用于排序的列。有一种简单易行的排序方法,还有一种更复杂、更强大的方法。我给你们两个 首先是简单的方法,展示了如何对实体进行排序的示例。在本例中,地址表(父表)中的PostalCode列用于对地址进行排序
using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
[DisplayColumn("City", "PostalCode", false)]
public partial class Address
{
}
如果您的排序需求更为复杂,那么可以在C#Bits博客上尝试这种更为稳健的方法:
此链接记录了。您可以使用DisplayColumn属性指定应用于排序的列。有一种简单易行的排序方法,还有一种更复杂、更强大的方法。我给你们两个 首先是简单的方法,展示了如何对实体进行排序的示例。在本例中,地址表(父表)中的PostalCode列用于对地址进行排序
using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
[DisplayColumn("City", "PostalCode", false)]
public partial class Address
{
}
如果您的排序需求更为复杂,那么可以在C#Bits博客上尝试这种更为稳健的方法:
<链接> .< /p> < p>如果您使用的是<代码> ASP.NET 4 < /代码>,您可以考虑GRIDVIEW的代码> AlxDeals= Trime< /Cord>新排序相关的样式属性<代码> SoordAdvEngEngHealdSype 等。p>
.ASPX
的示例:
<asp:GridView
ID="gvOffices"
runat="server"
DataSourceID="GridDataSource"
AllowPaging="true"
AllowSorting="true"
PageSize="10"
CssClass="listtable"
AutoGenerateColumns="false"
EnablePersistedSelection="true"
OnSelectedIndexChanged="OnFilterSelectedIndexChanged"
SortedAscendingHeaderStyle-CssClass="sortasc-header"
SortedDescendingHeaderStyle-CssClass="sortdesc-header">
</asp:GridView>
AllowSorting
提示GridView使用LinkButton
控件呈现其标题行,单击该控件时,会导致回发并启动排序过程。新属性允许根据当前顺序定义列标题的视觉外观
有关更多信息,请访问
编辑:
如果只想按第一列排序,则应将其他列的DynamicField
控件的SortExpression
属性设置为空
<asp:DynamicField DataField="ListCity" HeaderText="City" SortExpression="" />
< /代码> < p>如果您使用的是<代码> ASP.NET 4 < /C> >您可以考虑GRIDVIEW的代码> AlxDeals= Trime< /Cord>新排序相关的样式属性<代码> SoordAdvutnEnguleStudio< /COD>等。p>
.ASPX
的示例:
<asp:GridView
ID="gvOffices"
runat="server"
DataSourceID="GridDataSource"
AllowPaging="true"
AllowSorting="true"
PageSize="10"
CssClass="listtable"
AutoGenerateColumns="false"
EnablePersistedSelection="true"
OnSelectedIndexChanged="OnFilterSelectedIndexChanged"
SortedAscendingHeaderStyle-CssClass="sortasc-header"
SortedDescendingHeaderStyle-CssClass="sortdesc-header">
</asp:GridView>
AllowSorting
提示GridView使用LinkButton
控件呈现其标题行,单击该控件时,会导致回发并启动排序过程。新属性允许根据当前顺序定义列标题的视觉外观
有关更多信息,请访问
编辑:
如果只想按第一列排序,则应将其他列的DynamicField
控件的SortExpression
属性设置为空
<asp:DynamicField DataField="ListCity" HeaderText="City" SortExpression="" />
我还没有尝试过任何东西。我甚至不知道从哪里开始。我想它是在沙漠的某个地方