这似乎是一个非常愚蠢的问题,但我无法解决这个问题!如何以编程方式将排序顺序应用于ObjectListView?我的代码很直接:
listOfItems.Add(new ListItem(a, b, c, d));
listOfItems.Add(new ListItem(e, f, g, h));
objectListView.SetObjects(listOfItems);
Run Code Online (Sandbox Code Playgroud)
但是在这一点上我想强制排序,比如说,"第3列提升",我不能为我的生活找到一种方法来做到这一点!
我不想做任何花哨的事情,只是以编程方式模拟用户点击第3列标题的效果,直到它按升序排序.
我正在开发一个使用Oracle的"Siebel CRM"产品的C#项目.Siebel提供了两个名称空间和类,用于以编程方式连接到它的服务,具体取决于您是要连接到服务器还是连接到客户端会话:
SiebelBusObjectInterfaces.SiebelDataControl
TWSiebelLib.SiebelWebApplication
Run Code Online (Sandbox Code Playgroud)
SiebelDataControl公开了一种显式登录基于服务器的资源的特定方法:
bool SiebelDataControl.Login(string connString, string userName, string passWord)
Run Code Online (Sandbox Code Playgroud)
所有其他方法在两个类之间是相同的..
我目前正在维护我的两个版本的应用程序 - 每个版本对应一个不同的连接类.随着我构建的功能越来越具有包容性和复杂性,将这两个应用程序分开维护变得非常困难.我已将连接部分拆分为它自己的类,但我仍然需要在开发时在应用程序之间复制和粘贴代码.
理想情况下,我想要一个VS解决方案,它有一个我所有自定义代码的实例和一些逻辑,用于确定用户决定使用哪两个连接类.
从理论上讲,我想要的是:
class SiebelAppWrapper {
public Object m_SiebelAppInstance;
private Boolean m_isConnected;
private short m_conType;
public static short SERVER_CON = 1;
public static short CLIENT_CON = 2;
public SiebelAppWrapper(short conType) {
if (conType == SERVER_CON) {
m_SiebelAppInstance = new SiebelDataControl();
} else if conType == CLIENT_CON {
m_SiebelAppInstance = new SiebelWebApplication();
}
m_conType = conType;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,由于显而易见的原因,编译器对此并不满意.
我对C#和.NET开发一般都很陌生,所以我希望有一些方法可以在不复制所有dependend代码的情况下合并这两个类.
非常感谢您的帮助.