Telerik RadGrid排序ASP.NET C#
我的Telerik RadGrid将不会排序,无论我在其中输入什么代码。我尝试了很多方法,每次单击标题时,箭头和颜色都会改变,但数据的顺序会保持不变。这是我最新的一段代码。(这是我从Telerik网站上得到的)请告诉我我做错了什么Telerik RadGrid排序ASP.NET C#,c#,asp.net,sorting,telerik,telerik-grid,C#,Asp.net,Sorting,Telerik,Telerik Grid,我的Telerik RadGrid将不会排序,无论我在其中输入什么代码。我尝试了很多方法,每次单击标题时,箭头和颜色都会改变,但数据的顺序会保持不变。这是我最新的一段代码。(这是我从Telerik网站上得到的)请告诉我我做错了什么 <telerik:RadGrid runat="server" ID="radProductsGrid" Skin="Default" AllowSorting="true" AllowPaging="true" OnSortCommand="radProduc
<telerik:RadGrid runat="server" ID="radProductsGrid" Skin="Default" AllowSorting="true"
AllowPaging="true" OnSortCommand="radProductsGrid_SortCommand"
OnNeedDataSource="radProductsGrid_NeedDataSource" AutoGenerateColumns= "false"
GridLines="None" ShowGroupPanel="false" PageSize="100">
<telerik:GridBoundColumn ReadOnly="true" AllowFiltering="true" SortExpression="ItemNumber" DataField="ItemNumber" HeaderText="Item Number" UniqueName="ItemNumber">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn ReadOnly="true" AllowFiltering="true" SortExpression="ProductName" DataField="ProductName" HeaderText="Product Name" UniqueName="ProductName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn ReadOnly="true" AllowFiltering="true" SortExpression="CategoryName" DataField="CategoryName" HeaderText="Category Name" UniqueName="CategoryName">
</telerik:GridBoundColumn>
protected void radProductsGrid_SortCommand(object sender, GridSortCommandEventArgs e)
{
GridTableView tableView = e.Item.OwnerTableView;
if (e.SortExpression == "ItemNumber")
{
e.Canceled = true;
GridSortExpression expression = new GridSortExpression();
expression.FieldName = "ItemNumber";
if (tableView.SortExpressions.Count == 0 || tableView.SortExpressions[0].FieldName != "ItemNumber")
{
expression.SortOrder = GridSortOrder.Descending;
}
else if (tableView.SortExpressions[0].SortOrder == GridSortOrder.Descending)
{
expression.SortOrder = GridSortOrder.Ascending;
}
else if (tableView.SortExpressions[0].SortOrder == GridSortOrder.Ascending)
{
expression.SortOrder = GridSortOrder.None;
}
tableView.SortExpressions.AddSortExpression(expression);
tableView.Rebind();
}
}
受保护的无效radProductsGrid\u SortCommand(对象发送方、GridSortCommand和EventTargets e)
{
GridTableView tableView=e.Item.OwnerTableView;
如果(如SortExpression==“ItemNumber”)
{
e、 取消=真;
GridSortExpression表达式=新的GridSortExpression();
expression.FieldName=“ItemNumber”;
如果(tableView.SortExpressions.Count==0 | | tableView.SortExpressions[0].FieldName!=“ItemNumber”)
{
表达式.SortOrder=GridSortOrder.Descending;
}
else if(tableView.SortExpressions[0].SortOrder==GridSortOrder.Descending)
{
表达式.SortOrder=GridSortOrder.升序;
}
else if(tableView.SortExpressions[0].SortOrder==GridSortOrder.Ascending)
{
表达式.SortOrder=GridSortOrder.None;
}
tableView.SortExpressions.AddSortExpression(表达式);
tableView.Rebind();
}
}
不要这样做:
tableView.SortExpressions.AddSortExpression(expression);
tableView.Rebind();
这样做:
radProductsGrid.MasterTableView.SortExpressions.AddSortExpression(expression);
radProductsGrid.Rebind();
而不是这样做:
tableView.SortExpressions.AddSortExpression(expression);
tableView.Rebind();
这样做:
radProductsGrid.MasterTableView.SortExpressions.AddSortExpression(expression);
radProductsGrid.Rebind();
检查javascript onclick()事件,它会删除排序事件
var hasChanges, inputs, dropdowns, editedRow;
function RowClick(sender, eventArgs) {
if (editedRow && hasChanges) {
hasChanges = false;
if (confirm("Update changes?")) {
$find("<%= RadGrid1.ClientID %>").get_masterTableView().updateItem(editedRow);
}
}
}
var hasChanges、input、dropdown、editedRow;
函数行单击(发件人、事件参数){
如果(editedRow&&hasChanges){
hasChanges=false;
如果(确认(“更新更改?”){
$find(“”).get_masterTableView().updateItem(editedRow);
}
}
}
检查javascript onclick()事件,它会删除排序事件
var hasChanges, inputs, dropdowns, editedRow;
function RowClick(sender, eventArgs) {
if (editedRow && hasChanges) {
hasChanges = false;
if (confirm("Update changes?")) {
$find("<%= RadGrid1.ClientID %>").get_masterTableView().updateItem(editedRow);
}
}
}
var hasChanges、input、dropdown、editedRow;
函数行单击(发件人、事件参数){
如果(editedRow&&hasChanges){
hasChanges=false;
如果(确认(“更新更改?”){
$find(“”).get_masterTableView().updateItem(editedRow);
}
}
}
您能为您的答案添加解释吗?您能为您的答案添加解释吗?