예제 #1
0
        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);
            }
        }
예제 #2
0
        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();
                }
            }
        }
예제 #3
0
        /// <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);
                });
            }
        }