基于多个选定行上下移动多行的Devexpress gridview
我有一个gridview,我们给用户提供了移动行的选项,目前只能上下移动一行(点击按钮并拖放) 我们需要让用户能够根据multiselect中的选定行移动多行,是否有移动多行的示例 在当前情况下,我们使用一个数据库列(sort)对网格进行排序,我可以使用foreach将所有选定的行更新为+1或-1,但如何处理未选定的行?如果标准不符合您的要求,您可以在此处找到有关如何手动移动行的示例代码: 您需要选择较旧的分支,例如7.2.1。下面是此示例中的相应代码:基于多个选定行上下移动多行的Devexpress gridview,gridview,devexpress,devexpress-gridcontrol,Gridview,Devexpress,Devexpress Gridcontrol,我有一个gridview,我们给用户提供了移动行的选项,目前只能上下移动一行(点击按钮并拖放) 我们需要让用户能够根据multiselect中的选定行移动多行,是否有移动多行的示例 在当前情况下,我们使用一个数据库列(sort)对网格进行排序,我可以使用foreach将所有选定的行更新为+1或-1,但如何处理未选定的行?如果标准不符合您的要求,您可以在此处找到有关如何手动移动行的示例代码: 您需要选择较旧的分支,例如7.2.1。下面是此示例中的相应代码: private void MoveRo
private void MoveRow(int sourceRow, int targetRow)
{
if ( sourceRow == targetRow || sourceRow == targetRow + 1 )
return;
GridView view = gridView1;
DataRow row1 = view.GetDataRow(targetRow);
DataRow row2 = view.GetDataRow(targetRow + 1);
DataRow dragRow = view.GetDataRow(sourceRow);
decimal val1 = (decimal)row1[OrderFieldName];
if ( row2 == null )
dragRow[OrderFieldName] = val1 + 1;
else
{
decimal val2 = (decimal)row2[OrderFieldName];
dragRow[OrderFieldName] = (val1 + val2) / 2;
}
}
正如您所看到的,您可以使用decimal而不是int,从而避免处理未选中的行