private void tsbDownload_Click(object sender, EventArgs e) { ListView.SelectedListViewItemCollection lstSelected = LvDataContent.SelectedItems; if (lstSelected.Count > 0) { foreach (ListViewItem item in lstSelected) { ListViewItemEx ctr = item as ListViewItemEx; if (!ctr.ItemData.IsForlder) { ctr.DownLoadFile(); } } } }
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 UpdateViewItem(TDataInfoDTO dto, ListViewItemEx lvi) { lvi.Text = dto.DataName; lvi.ItemData = dto; if (dto.IsForlder == false) { string tempFileExtension = Path.GetExtension(dto.DataName); lvi.ImageIndex = CommomHelper.GetImageIndex(dto, imageList1); lvi.ToolTipText = string.Format("文件名称:{0}\r\n文件大小:{1}M\r\n上传时间:{2}\r\n上传人:{3}\r\n修改时间:{4}\r\n下载次数:{5}\r\n文件描述:{6}", dto.DataName, CommomHelper.ParseMB(dto.FileSize), dto.CreateTime, dto.UploadPeople, dto.LastModifyTime, dto.DownloadTimes, dto.DataDescription); } else { if (!imageList1.Images.Keys.Contains("Folder")) { imageList1.Images.Add("Folder", Resources.folder); } lvi.ImageIndex = imageList1.Images.Keys.IndexOf("Folder"); string.Format("文件名称:{0}\r\n上传时间:{1}\r\n上传人:{2}\r\n修改时间:{3}\r\n文件描述:{4}", dto.DataName, dto.CreateTime, dto.UploadPeople, dto.LastModifyTime, dto.DataDescription); } }
public int Compare(object x, object y) { ListViewItemEx y1 = (ListViewItemEx)x; ListViewItemEx x1 = (ListViewItemEx)y; if (x1.ItemData == null || y1.ItemData == null) { return(1); } if (x1.ItemData.IsForlder) { return(-1); } else if (y1.ItemData.IsForlder) { return(1); } else { return((int)(CommomHelper.ParseMB(x1.ItemData.FileSize) - CommomHelper.ParseMB(y1.ItemData.FileSize))); } }
public int Compare(object x, object y) { ListViewItemEx y1 = (ListViewItemEx)x; ListViewItemEx x1 = (ListViewItemEx)y; if (x1.ItemData == null || y1.ItemData == null) { return(1); } if (x1.ItemData.IsForlder) { return(-1); } else if (y1.ItemData.IsForlder) { return(1); } else { return(DateTime.Compare(x1.ItemData.LastModifyTime.Value, y1.ItemData.LastModifyTime.Value)); } }
public int Compare(object x, object y) { ListViewItemEx y1 = (ListViewItemEx)x; ListViewItemEx x1 = (ListViewItemEx)y; if (x1.ItemData == null || y1.ItemData == null) { return(1); } if (x1.ItemData.IsForlder) { return(-1); } else if (y1.ItemData.IsForlder) { return(1); } else { return(string.CompareOrdinal(Path.GetExtension(x1.ItemData.DataName).Remove(0, 1), Path.GetExtension(y1.ItemData.DataName).Remove(0, 1))); } }
public int Compare(object x, object y) { ListViewItemEx y1 = (ListViewItemEx)x; ListViewItemEx x1 = (ListViewItemEx)y; if (x1.ItemData == null || y1.ItemData == null) { return(1); } if (x1.ItemData.IsForlder) { return(-1); } else if (y1.ItemData.IsForlder) { return(1); } else { return(string.CompareOrdinal(x1.ItemData.DataName, y1.ItemData.DataName)); } }
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(); } } }
private void CreateViewItem(TDataInfoDTO dto, int index, bool edit = false) { ListViewItemEx lvi = new ListViewItemEx(); lvi.ItemData = dto; lvi.Text = dto.DataName; if (dto.IsForlder == false) { lvi.ImageIndex = CommomHelper.GetImageIndex(dto, imageList1); lvi.ToolTipText = string.Format("文件名称:{0}\r\n文件大小:{1}M\r\n上传时间:{2}\r\n上传人:{3}\r\n修改时间:{4}\r\n下载次数:{5}\r\n文件描述:{6}", dto.DataName, CommomHelper.ParseMB(dto.FileSize), dto.CreateTime, dto.UploadPeople, dto.LastModifyTime, dto.DownloadTimes, dto.DataDescription); lvi.SubItems.Add(dto.DataName); lvi.SubItems.Add(CommomHelper.ParseMB(dto.FileSize) + "M"); lvi.SubItems.Add(dto.LastModifyTime.Value.ToString()); lvi.SubItems.Add(dto.UploadPeople); LvDataContent.Items.Insert(index, lvi); //lvi.SetOtherControl(); } else { if (!imageList1.Images.Keys.Contains("Folder")) { imageList1.Images.Add("Folder", Resources.folder); } lvi.ImageIndex = imageList1.Images.Keys.IndexOf("Folder"); string.Format("文件名称:{0}\r\n上传时间:{1}\r\n上传人:{2}\r\n修改时间:{3}\r\n文件描述:{4}", dto.DataName, dto.CreateTime, dto.UploadPeople, dto.LastModifyTime, dto.DataDescription); lvi.SubItems.Add(dto.DataName); lvi.SubItems.Add(CommomHelper.ParseMB(dto.FileSize) + "M"); lvi.SubItems.Add(dto.LastModifyTime.Value.ToString()); lvi.SubItems.Add(dto.UploadPeople); LvDataContent.Items.Insert(index, lvi); } if (edit) { lvi.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); }); } }