2011-04-05 109 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; 
    } 
}