- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当我不得不做这么多工作时,有时我会觉得自己忽略了什么。
这段代码成功地对一列进行了排序。必须手动构建 switch 语句以获取额外信息。
我是否忽略了执行此操作的“实际/简单”方法?
注意:msdn docs 中似乎有注释说这根本不可能,除非我读错了(但它确实有效,只是这样很痛苦)。
其他注意事项:我在这里使用术语 DAC 和 POCO 并不是完全有信心,所以请纠正我是否可以更好。
ObjectDataSource + GridView:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" AllowSorting="True">
<Columns>
<asp:BoundField DataField="AppID" HeaderText="AppID" SortExpression="AppID" />
<asp:BoundField DataField="Type" HeaderText="Type" SortExpression="Type" />
<asp:BoundField DataField="Timestamp" HeaderText="Timestamp" SortExpression="Timestamp" />
DataField="Credit" HeaderText="Credit" SortExpression="Credit" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetLeads" TypeName="Leads.LeadsContainer" SortParameterName="sortParameter">
</asp:ObjectDataSource>
来自 DAC 的片段:
public List<ILead> GetLeads(string sortParameter)
{
List<ILead> leads = new List<ILead>();
int numLeads = 10;
Random random = new Random();
while (leads.Count < numLeads)
{
leads.Add(Lead.CreateRandom(random));
}
string[] sortExpressions = sortParameter.Split(',');
if (sortExpressions.Length > 0)
{
string sortExpression = sortExpressions[0];
string[] sortInfos = sortExpression.Split(' ');
string sortField = sortInfos[0];
string sortDirection = (sortInfos.Length == 1 ? "ASC" : "DESC");
switch (sortField)
{
case "Timestamp":
switch (sortDirection)
{
case "ASC":
leads = leads.OrderBy(c => c.Timestamp).ToList();
break;
case "DESC":
leads = leads.OrderByDescending(c => c.Timestamp).ToList();
break;
default:
break;
}
break;
default:
break;
}
}
return leads;
}
POCO(接口(interface)):
public interface ILead
{
string AppID { get; set; }
string Type { get; set; }
DateTime Timestamp { get; set; }
string CDNumber { get; set; }
string IP { get; set; }
string ESourceID { get; set; }
string State { get; set; }
DateTime DateOfBirth { get; set; }
string Email { get; set; }
bool IsVetran { get; set; }
string Credit { get; set; }
}
最佳答案
使用 Dynamic linq library .这可以使 linq 查询以字符串作为参数,但是必须准备字符串。
字符串可以用于任何事情,根据条件过滤,排序,在一个值和另一个值之间。
关于c# - 这是为 POCO 实现 ObjectDataSource 排序的方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424971/
我有一个启用编辑的 GridView ,所以当我编辑用户时出现错误: ObjectDataSource 'ObjectDataSource1' 找不到具有参数的非泛型方法 'Update': 我还使用
在我的 C# .NET Web 应用程序中,我有一个绑定(bind)到 ObjectDataSource 的 GridView。此 ObjectDataSource 使用我的 App_Code 文件夹
我正在开发 asp.net 3.5 项目。 当我想用 DetailsView 插入时,出现了这个错误: 错误:ObjectDataSource“ObjectDataSource2”找不到具有参数的非通
我有这个 ASP.NET 代码: 我的 DAL 代码: public DataTable GetBrokers(bool? hasImport=null) { SqlCommand cm
我正在使用 ObjectDataSource 来排序/分页/过滤,如下所示: 使用 ObjectDataSou
我有一个服务层公开了一些方法,这些方法在我的 asp.net 应用程序的 ObjectDataSource 中使用。 服务类的构造函数有一个参数,只是一个int,用于跟踪当前登录的用户: public
我的 ObjectDataSource 是这样实例化的: 选择、插入、更新方法如您所愿;选择所有数据,插入数据和更新数据。我的问题是,有没有办法可以分配另一种方法,例如第二个选择选择不同的数据或者可
我正在使用 visual studio 2008,我在 AppCode 文件夹中包含了一个类,并希望在 ObjectDataSource 中使用它的函数。 最佳答案 在 aspx 中 在 .cs
前台代码: 复制代码代码如下: <asp:GridView ID="viewIShow" runat="server"
我正在使用 ObjectDataSource 来执行 CRUD 操作。出于某种原因,我收到“ObjectDataSource‘ObjectDataSource1’没有要插入的值。检查‘values’字
如果网页需要一些数据,为什么不让 SQLDataSource 调用存储过程呢?为什么要使用 ObjectDataSource 调用业务对象,然后再调用存储过程?我知道基于 .net 框架构建的其他应用
我正在使用 GridView 处理 ASP.NET 页面和 ObjectDataSource . 我想针对我的业务层中的一个类(用 DataObject() 装饰)配置 ObjectDataSourc
我正在尝试将此绑定(bind)到gridview .. var source = from p in allComments select new { p.Img,
我有一个 GridView ,它绑定(bind)到一个从学生类型中选择数据的对象数据源 public class student { int id; string name; int
在我的公司中,很少有员工使用 ObjectDataSource。示例片段是: Sele
我正在将旧网站更新为更现代的外观。他们希望能够 CRUD 他们的数据表,这样用户就可以轻松地编辑/更新/删除内容,而无需转到特殊页面。 为此,我为他们的旧方法设置了一个 ObjectDataSourc
我有一个文本框,其值存储 ValidFrom 表单值: 31.01.2012 文化设置为: 在 web.config 中。 现在,ObjectDataSource 更新方法: public
如果下拉列表在范围内,我如何设置下拉列表的选定值Gridview 和下拉列表在编辑时由 objectdatasource 填充按钮被点击? 我的应用发生了什么情况是下拉列表被填充但第一项始终显示为选定
我无法从我的 C# 代码中找到简单问题的答案:如何手动清除 ObjectDataSource 缓存。在带有一些 DevExpress 组件的 Visual Studio 2010 中将 ASP.NET
我正在尝试使用启用分页的 ObjectDataSource。这需要我使用 SelectCountMethod(这样网格才能知道有多少页)。我的 ObjectDataSource 看起来像这样:
我是一名优秀的程序员,十分优秀!