private void tsbUpload_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "所有文件|*.*"; dialog.Multiselect = true; if (dialog.ShowDialog() == DialogResult.OK) { LvDataContent.ListViewItemSorter = new ListViewIndexComparer(); Array.ForEach(dialog.FileNames, t => { ListViewItemEx ctr = new ListViewItemEx(_baseInfoId); ctr.Text = Path.GetFileName(t); string tempFileExtension = Path.GetExtension(t); LvDataContent.Items.Add(ctr); ctr.UploadFile(t, _currentId, imageList1); }); //tsmNameSort_Click(tsmNameSort, e); } }
private void tsbUploadForlder_Click(object sender, EventArgs e) { FolderBrowserDialog dialog = new FolderBrowserDialog(); //dialog.RootFolder = Environment.SpecialFolder.MyComputer; if (dialog.ShowDialog() == DialogResult.OK) { string folderPath = dialog.SelectedPath; string folderName = folderPath.Remove(0, folderPath.LastIndexOf("\\") + 1); //新建文件夹 TDataInfoDTO dto = new TDataInfoDTO(); dto.BaseInfoId = _baseInfoId; dto.CreateTime = DateTime.Now; dto.DataName = folderName; dto.UploadPeople = CommonData.LoginInfo.EmployeeName; dto.IsForlder = true; dto.DownloadTimes = 0; dto.LastModifyTime = DateTime.Now; dto.MetaDataId = Guid.NewGuid().ToString(); dto.ParentId = _currentId; bool result = _client.TDataInfoAdd(dto); if (result) { CreateViewItem(dto, LvDataContent.Items.Count, false); IniliazeListView(dto.MetaDataId); //开始上传文件 Array.ForEach(Directory.GetFiles(folderPath), t => { ListViewItemEx ctr = new ListViewItemEx(_baseInfoId); ctr.Text = Path.GetFileName(t); string tempFileExtension = Path.GetExtension(t); LvDataContent.Items.Add(ctr); ctr.UploadFile(t, _currentId, imageList1); }); //LvDataContent.Items[LvDataContent.Items.Count - 1].BeginEdit(); } } }
/// <summary> /// 结束拖动 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void listView1_DragDrop(object sender, DragEventArgs e) { // 返回插入标记的索引值 int index = LvDataContent.InsertionMark.Index; // 如果插入标记不可见,则退出. if (index == -1) { return; } // 如果插入标记在项目的右面,使目标索引值加一 if (LvDataContent.InsertionMark.AppearsAfterItem && index < LvDataContent.Items.Count - 1 && (LvDataContent.Items[index] as ListViewItemEx).ItemData.IsForlder == false) { index++; } ListViewItemEx target = LvDataContent.Items[index] as ListViewItemEx; //移动项 if (e.Effect == DragDropEffects.Move) { // 返回拖拽项 Dictionary <ListViewItemEx, int> items = (Dictionary <ListViewItemEx, int>)e.Data.GetData(typeof(Dictionary <ListViewItemEx, int>)); foreach (var item in items) { if (target.ItemData.IsForlder == false) { CreateViewItem(item.Key.ItemData, index); LvDataContent.Items.Remove(item.Key); if (item.Value >= index) { index++; } } else { TDataInfoDTO sourceDTO = item.Key.ItemData; sourceDTO.ParentId = target.ItemData.MetaDataId; bool success = _client.TDataInfoUpdate(sourceDTO); if (success) { LvDataContent.Items.Remove(item.Key); } } } } else if (e.Effect == (DragDropEffects.Copy | DragDropEffects.Link | DragDropEffects.Move)) { if (target.ItemData.IsForlder) { IniliazeListView(target.ItemData.MetaDataId); } //上传文件 string[] result = e.Data.GetData(DataFormats.FileDrop) as string[]; LvDataContent.ListViewItemSorter = new ListViewIndexComparer(); Array.ForEach(result, t => { ListViewItemEx ctr = new ListViewItemEx(_baseInfoId); ctr.Text = Path.GetFileName(t); string tempFileExtension = Path.GetExtension(t); LvDataContent.Items.Add(ctr); ctr.UploadFile(t, _currentId, imageList1); }); } }