2011-04-05 29 views
1

我真的不知道该把标题放在什么地方,所以很抱歉。我有2列,从2个文件夹列出文件。现在我想要做的是让用户能够重新排列文件,方法是单击一列中的一个文件,然后单击另一列中的另一个文件。应用程序将这两个文件合并在一起。C#Gridview,重新排列

只是onother选项将只使用DataGrid和它的拖放功能(一列是静态的,一个rearrangable用拖放或某事),但做这种方式的心不是真的是我想..

因此,所有选项都欢迎..

编辑: 使用的WinForms,它不必须是gridview的,只是我不能想别的..

+1

GridView的是ambigious。请指定UI框架(WebForms,WinForms或WPF) – 2011-04-05 08:11:33

回答

4

,我只想创建两个DataGridView的(或ListView如果你更喜欢),第一个列出文件夹01中的文件,第二个列出文件夹B中的文件。

然后允许在两个电网的一次选择只有一个行(MultiSelect = falseSelectionMode = FullRowSelect),添加一个名为“合并选”按钮,简单地合并在同一个第二网格中选定第一个网格中选中的文件。

+0

Thnx,我应该更多地解释我的应用程序。全部含义是通过A和B文件夹列表自动合并这些文件。当用户必须一个接一个完成它时,它会失去一个点(: – hs2d 2011-04-05 08:39:25

+0

@ hs2d:好的,所以你需要安排他们的命令来建立'文件A'''文件B'匹配到合并...那么然后允许多个选择,并允许重新排序数据行添加例如上下箭头按钮(如在许多设计师集合编辑器) – digEmAll 2011-04-05 08:52:45

+0

是的,我没有想过添加/向下箭头。我认为我认为它作为一个选项,如果将得到任何更好的想法.. – hs2d 2011-04-05 08:58:15

0
  1. 使用2列表框链接到每个文件夹,以便使用可向上/向下滚动选择文件,他们需要
  2. 有按钮“合并文件”时,选择从两个ListBox中的项目,其被启用。
  3. 当用户点击“合并文件”有一个确认框,以确保它没有点击我的错误。
0

我假设你说的是DataGridView,因为DataGrid已被弃用。

在设计器中,确保DataGridView上的SelectionMode设置为CellSelect。然后在属性 - >事件中,双击SelectionChanged事件以创建处理该事件的新方法。

这个代码添加到方法:

private DataGridViewCell _lastCellSelected = null; 
private void dataGridView_SelectionChanged(object sender, EventArgs e) 
{ 
    if(dataGridView.SelectedCells.Count == 0) 
    { 
     _lastCellSelected = null; 
     return; 
    } 

    DataGridViewCell selectedCell = dataGridView.SelectedCells[0]; 
    if(_lastCellSelected == null || selectedCell.ColumnIndex == _lastCellSelected.ColumnIndex) 
    { 
     //User clicked first cell 
     _lastCellSelected = selectedCell; 
    } 
    else 
    { 
     //User has clicked two cells from different columns 
     string filename1 = _lastCellSelected.Value; 
     string filename2 = selectedCell.Value; 

     //TODO: "Merge" files here 

     _lastCellSelected = null; 
    } 
}