如何将ListView控件选中的项向上移动或向下移动 自定义一个控件,继承ListView 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同样的问题看这里http://topic.csdn.net/u/20080708/18/9b794080-b1d6-4243-9bbc-b43b9e96140f.html #region 上下排序 private void tsmiPLItemUp_Click(object sender, EventArgs e) { if (pOVLPlaylist.SelectedObjects.Count == 1) { List<PlaylistFiles> plist = new List<PlaylistFiles>(); int index=pOVLPlaylist.SelectedIndex; plist.AddRange(PlaylistT); plist.RemoveAt(index); plist.Insert(index - 1, PlaylistT[pOVLPlaylist.SelectedIndex]); InitOLVPlayList(plist); PlaylistT.Clear(); PlaylistT.AddRange(plist); pOVLPlaylist.Items[index - 1].Selected = true; pOVLPlaylist.Items[index - 1].Focused = true; } } private void tsmiPLItemDown_Click(object sender, EventArgs e) { //pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex].Selected = false; //pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex + 1].Selected = true; //pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex].Focused = false; //pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex + 1].Focused = true; //pOVLPlaylist.EnsureVisible(pOVLPlaylist.SelectedIndex); if (pOVLPlaylist.SelectedObjects.Count == 1) { List<PlaylistFiles> plist = new List<PlaylistFiles>(); int index = pOVLPlaylist.SelectedIndex; plist.AddRange(PlaylistT); plist.RemoveAt(index); plist.Insert(index + 1, PlaylistT[pOVLPlaylist.SelectedIndex]); InitOLVPlayList(plist); PlaylistT.Clear(); PlaylistT.AddRange(plist); pOVLPlaylist.Items[index + 1].Selected = true; pOVLPlaylist.Items[index + 1].Focused = true; } } int LastIndexOfPlaylistT() { int lio = -1; for (int so = 0; so < pOVLPlaylist.SelectedObjects.Count; so++) { int index = pOVLPlaylist.IndexOf(pOVLPlaylist.SelectedObjects[so]); //MessageBox.Show(index.ToString()); PlaylistFiles item = pOVLPlaylist.SelectedObjects[so] as PlaylistFiles; foreach (PlaylistFiles plf in PlaylistT) { if (item.FileName == plf.FileName) { lio = PlaylistT.LastIndexOf(plf); } } } return lio; } #endregion这个是我公司项目中刚实现的,简单解释下List<PlaylistFiles>是一个节目单的数组对象,我用phillip_piper<[email protected]>开源控件objectlistview 声明---》pOVLPlaylisttsmiPLItemUp是右键上下文菜单LastIndexOfPlaylistT用来找你选中项的对象索引我代码意思是,先移除选中PlaylistFiles对象A,再把对象A插回List<PlaylistFiles>,再更新界面办法笨了点,见笑了有好办法的兄弟多指点[email protected] 人家 那个 zip 文件怎搞的? C#怎样创建临时表?谢谢! 如何能用XML文件 提取出它的模式文件XSD文件 简单问题,泛型是线程安全吗? 各位杂样 自己做一个类似与 Dos 的copy功能 看一下 关于_blank问题 寻求提取文件信息代码? 请问,WebForm中C#如何调用Pro*c 生成的dll文件? C#初学者学完语法和面向对象基础下一步应该看点什么?进者有分。 图像显示路径问题?超难问题,请高手指点 C# 如何去除水晶报表的数据库登陆界面
看这里http://topic.csdn.net/u/20080708/18/9b794080-b1d6-4243-9bbc-b43b9e96140f.html
#region 上下排序
private void tsmiPLItemUp_Click(object sender, EventArgs e)
{
if (pOVLPlaylist.SelectedObjects.Count == 1)
{
List<PlaylistFiles> plist = new List<PlaylistFiles>();
int index=pOVLPlaylist.SelectedIndex;
plist.AddRange(PlaylistT);
plist.RemoveAt(index);
plist.Insert(index - 1, PlaylistT[pOVLPlaylist.SelectedIndex]);
InitOLVPlayList(plist);
PlaylistT.Clear();
PlaylistT.AddRange(plist);
pOVLPlaylist.Items[index - 1].Selected = true;
pOVLPlaylist.Items[index - 1].Focused = true; }
}
private void tsmiPLItemDown_Click(object sender, EventArgs e)
{
//pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex].Selected = false;
//pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex + 1].Selected = true;
//pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex].Focused = false;
//pOVLPlaylist.Items[pOVLPlaylist.SelectedIndex + 1].Focused = true;
//pOVLPlaylist.EnsureVisible(pOVLPlaylist.SelectedIndex);
if (pOVLPlaylist.SelectedObjects.Count == 1)
{
List<PlaylistFiles> plist = new List<PlaylistFiles>();
int index = pOVLPlaylist.SelectedIndex;
plist.AddRange(PlaylistT);
plist.RemoveAt(index);
plist.Insert(index + 1, PlaylistT[pOVLPlaylist.SelectedIndex]);
InitOLVPlayList(plist);
PlaylistT.Clear();
PlaylistT.AddRange(plist);
pOVLPlaylist.Items[index + 1].Selected = true;
pOVLPlaylist.Items[index + 1].Focused = true; }
} int LastIndexOfPlaylistT()
{
int lio = -1;
for (int so = 0; so < pOVLPlaylist.SelectedObjects.Count; so++)
{
int index = pOVLPlaylist.IndexOf(pOVLPlaylist.SelectedObjects[so]);
//MessageBox.Show(index.ToString());
PlaylistFiles item = pOVLPlaylist.SelectedObjects[so] as PlaylistFiles;
foreach (PlaylistFiles plf in PlaylistT)
{
if (item.FileName == plf.FileName)
{
lio = PlaylistT.LastIndexOf(plf); }
}
}
return lio;
}
#endregion
这个是我公司项目中刚实现的,简单解释下
List<PlaylistFiles>是一个节目单的数组对象,我用
phillip_piper<[email protected]>
开源控件objectlistview 声明---》pOVLPlaylisttsmiPLItemUp是右键上下文菜单
LastIndexOfPlaylistT用来找你选中项的对象索引我代码意思是,先移除选中PlaylistFiles对象A,再把对象A插回List<PlaylistFiles>,再更新界面
办法笨了点,见笑了
有好办法的兄弟多指点
[email protected]