ASP.NET Сортировка содержимого SqlDataSource

#c# #asp.net #webforms #sqldatasource

#c# #asp.net #веб-формы #sqldatasource

Вопрос:

Я создал sql-процедуру, которая возвращает таблицу из базы данных, где записи расположены в определенном порядке. Но, когда я выполняю эту процедуру и использую sqldatasource и показываю результаты в GridView , строки располагаются не в том порядке, в каком это должно быть. Я проверил в SQL Management Studio, и процедура sql работает нормально. Вот код, как я выполняю процедуру :

 ds.SelectCommand = "EXEC MyProcedure";
TableGridView.DataSource = ds.Select(new DataSourceSelectArguments());
TableGridView.DataBind();
  

ds SqlDataSource создается с использованием <asp:SqlDataSource .../>

Ответ №1:

Я бы удостоверился, что мой SQL в моей процедуре имеет ПОРЯДОК BY, чтобы гарантировать, что он всегда будет сортировать изначально так, как вы хотите.

 SELECT * FROM Products ORDER BY ProductName
  

Если вы все еще видите, что ваши данные отображаются в неправильном порядке в вашем GridView, попробуйте настроить его так, чтобы не разрешать сортировку, чтобы увидеть, изменяет ли элемент управления порядок.

 TableGridView.AllowSorting = False;