中易网

c# listview 如何改变某一行的位置

答案:3  悬赏:40  
解决时间 2021-02-26 04:37
比如我选中了第三行 如何让它调到第一行 或者任意我想要的位置
最佳答案
//新建windows窗体,添加listView1,button1,粘贴代码运行
//选择某一项,点击按钮,则item向上移动
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
listView1.View = View.Details;
listView1.FullRowSelect = true;
button1.Text = "向上";
listView1.Columns.Add("col");
listView1.Items.Add("item1");
listView1.Items.Add("item2");
listView1.Items.Add("item3");
}
private void button1_Click(object sender, EventArgs e)
{
if (listView1.SelectedIndices.Count > 0)
{
int index = listView1.SelectedIndices[0];
if (index > 0)
{
List<ListViewItem> L = new List<ListViewItem>();
foreach (ListViewItem item in listView1.Items)
{
L.Add(item);
}
L[index - 1] = listView1.Items[index];
L[index] = listView1.Items[index - 1];
listView1.Items.Clear();
foreach (ListViewItem item in L)
{
listView1.Items.Add(item);
}
}
}
}
}
全部回答
没懂什么意思.....................
首先你要在数据添加的时候就把他的id值放进它的tag里面去,这样才能在选中行的时候知道是哪一行~ listviewitem 对象名 = new listviewitem(首项就是显示在最前面的列); 对象名.tag = (int)datarader[id项];//这个是为了后面取选中行的id十使用,不需要可以不写 控件名.items.add(对象名); 对象名.subitems.addrange(new string[]{ 需要添加的项 }); 添加好数据后选种行的代码为: 控件名.selecteditems[0].tag; 假如想提取选中行第[3]单元格的值: 控件名.selecteditems[0].subitems[6].text;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
带正版office的笔记本
溧阳市节水改水管理中心在哪里啊,我有事要去
四川大学的数学基地班
男朋友在QQ上逃避我是为什么?
已婚的男人你们会为了爱上别的女人而和老婆离
购物卡收购这个行业是怎么运转的
安师大皖江学院的经济学怎么样啊 谁可以和我
IBM THINKPAD有x1600独立显卡的机型么
今天朋友在网吧玩游戏,我过去坐朋友旁边跟朋
友好网吧我想知道这个在什么地方
山东小孔炒坊干果饼干怎么去啊,有知道地址的
变色龙变色主要受什么因素影响?
长沙市岳麓区人事局在哪里啊,我有事要去这个
大脑真的很累怎么办
工商局可以随便查账吗
推荐资讯
sql语句中别名怎么使用
独品精品男装在哪里啊,我有事要去这个地方
莫孔切 是什么意思
2017欠钱不还怎么办咨询文登律师
只要两个人健康 两个人都不是HIV携带者和感染
V9#华为v9或者是现在的手机需要贴膜吗
13、用字符形式存储时,一个十进制数+67的编
装修完以后的厨房间餐具如何搭配,比如什么样
QQ三国我是阴阳擅长带哪种人形BB?(于毒,邓
最近装修新房子是否宜动土
请问18K金里面是什么颜色?
找一本网游小说,大概09或者10年的,主角现实
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?