C#列表顺序替换思想

/// <summary>
/// 显示列顺序
/// </summary>
/// <param name="list"></param>
private void ShowColumnIndex(List<SelectColumn> list)
{
  foreach (var i in list)
  {
    SelectColumn selectColumn = i;
    foreach (var column in rgv_Control.Columns.Where(column => !column.Name.Equals("Num") && !column.Name.Equals("ChkSelect")).Where(column => selectColumn.ColumnName.Equals(column.Name)))
    {
      var oldIndex = column.Index;
      var newIndex = i.ShowIndex;
      if (oldIndex > newIndex)
      {
        rgv_Control.Columns.Move(oldIndex, newIndex);
        rgv_Control.Columns.Move(newIndex + 1, oldIndex);
      }
      else if (oldIndex < newIndex)
      {
        rgv_Control.Columns.Move(oldIndex, newIndex);
        rgv_Control.Columns.Move(newIndex - 1, oldIndex);
      }
      break;
    }
  }
}

posted @ 2013-10-30 16:38  Seaurl  阅读(645)  评论(0编辑  收藏  举报