在 C# 中的 datagridview 中交换行
我有一个与 dataTable 无关的 datagridview。
我想交换例如 datagridview 中的第一行和第十行。
我使用这段代码,
int row_1 = 1;
int row_10 = 10;
for(int i=0;i<grid.ColumnCount;i++)
{
string temp = grid.Rows[row_1].Cells[i].Value.ToString();
grid.Rows[row_1].Cells[i].Value = grid.Rows[row_10].Cells[i].Value.ToString();
grid.Rows[row_10].Cells[i].Value = temp;
}
但我想知道有没有简单的方法可以做到这一点?
i have a datagridview which is not related with dataTable.
and i want to swap for example 1st and 10th rows in datagridview.
i use this code for it
int row_1 = 1;
int row_10 = 10;
for(int i=0;i<grid.ColumnCount;i++)
{
string temp = grid.Rows[row_1].Cells[i].Value.ToString();
grid.Rows[row_1].Cells[i].Value = grid.Rows[row_10].Cells[i].Value.ToString();
grid.Rows[row_10].Cells[i].Value = temp;
}
but i want to know is there any simple way to do this??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
嗨,
你有没有尝试过:
HI,
Have you tried:
我想对此发表评论。
虽然以前可能可以在 C# 中进行直接交换,例如 smoore/Gabriels,
但现在不再可能了,因为 grid.Rows[index] 是只读的。
相反,使用 DarkSquirrels 方法保存两行,删除行,然后重新插入交换的行。
如果有人知道更好的方法(因为这就像 iteslf 的 6 行方法,没有找到其他值的逻辑)请发表评论!
I wanted to comment on this.
While it -may- have been possible to do a straight swap in C# before, like smoore/Gabriels-
This is no longer possible, as grid.Rows[index] is read only.
Instead, use DarkSquirrels method of saving the two rows, removing the rows, and re-inserting them swapped.
If somebody knows a better method (as this is like a 6 line method by iteslf without the logic to find the other value) please do comment!
尝试:
Try:
就像补充一样:
如果您需要更频繁地交换,请将您最喜欢的上面的方法放在自己的类中并调用该方法(例如 Interchange())
Just as addition:
if you need interchange more often, put the method above you prefer most in its own class and call the method (e.g. Interchange())
这个方法效果很好:
This method works fine: