我有几个使用存储过程绑定到 SqlDataSources 的 Gridviews 和 Repeater。我正在尝试在其中一些中实现排序功能,但是很难找到具体的说明和/或 SqlDataSource 端生成所需的 ORDER BY 所需的示例。特别是,如果它所做的只是手动连接到存储过程中的 ORDER BY 子句,我不明白在 SqlDataSource 中有一个 SortParameterName 属性的意义。如果它只是 SelectParameters 列表中的另一个参数,为什么要这样定义它,但恰好连接到 ORDER BY 子句?当我运行下面的代码示例时,我被告知指定的参数太多(显然是额外的 SortParams 参数)。我真的需要改变我的存储过程并添加“
SqlDataSourceInLine.SelectParameters.Clear()
SqlDataSourceInLine.SelectCommandType = SqlDataSourceCommandType.StoredProcedure
SqlDataSourceInLine.SelectCommand = "ApproverGetApproved"
SqlDataSourceInLine.SelectParameters.Add("CompanyID", ConfigurationManager.AppSettings("Temp_CompanyID"))
SqlDataSourceInLine.SelectParameters.Add("SortParams", "EmpName DESC")
SqlDataSourceInLine.DataSourceMode = SqlDataSourceMode.DataSet
SqlDataSourceInLine.SortParameterName = "SortParams"
Dim dv As DataView = SqlDataSourceInLine.Select(DataSourceSelectArguments.Empty
任何澄清将不胜感激!