public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { SummarizeDoc summarizeDoc = value as SummarizeDoc; double size = Math.Round(double.Parse(summarizeDoc.FILESIZE) / 1024.0, 1); return(size); }
/// <summary> /// datagrid数据选择按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void chkCell_Click(object sender, RoutedEventArgs e) { CheckBox box = sender as CheckBox; bool? isChecked = box.IsChecked; if (!isChecked.HasValue) { return; } // SummarizeDoc freq = box.DataContext as SummarizeDoc; currentsummarize = box.DataContext as SummarizeDoc; bool checkedState = isChecked.Value; currentsummarize.IsChecked = isChecked.Value; if (currentsummarize.IsChecked == true) { summarizeList.Add(currentsummarize); } else { summarizeList.Remove(currentsummarize); } #region 判断全选和保存状态 int ischeckCount = (dgList.ItemsSource as List <SummarizeDoc>).Count(p => p.IsChecked == true); if (ischeckCount == 1 || ischeckCount == 0) { if (ischeckCount == 1) { SummarizeDocSelected = (dgList.ItemsSource as List <SummarizeDoc>).Where(p => p.IsChecked == true).FirstOrDefault(); //RuleName.Text = SummarizeDocSelected.SUMMARIZENAME; //Sender.Text = SummarizeDocSelected.SENDPERSON; //dpSendDate.SelectedDate = Convert.ToDateTime(SummarizeDocSelected.SENDDATE); //tbSynopsis.Text = SummarizeDocSelected.SUMMARY; } //btnSave.IsEnabled = true; isAddOrUpdate = 1;//可以进行修改操作 } else { //RuleName.Text = ""; //Sender.Text = ""; //dpSendDate.SelectedDate = Convert.ToDateTime(DateTime.Now); //tbSynopsis.Text = ""; //btnSave.IsEnabled = false; isAddOrUpdate = 0; } foreach (SummarizeDoc result in dgList.ItemsSource) { if (result.IsChecked != checkedState) { this.chkAll.IsChecked = null; return; } } chkAll.IsChecked = checkedState; #endregion }
/// <summary> /// 下载功能 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DownBtn_Click(object sender, RoutedEventArgs e) { try { SummarizeDoc summarize = (sender as System.Windows.Documents.Hyperlink).Tag as SummarizeDoc; if (summarize == null) { return; } string docstr = summarize.FILEFORM.Substring(summarize.FILEFORM.LastIndexOf('.')); string serviceDocPath = ByteConvertDocService(summarize.FILEPATH, summarize.FILEFORM); WebClient webClient = new WebClient(); SaveFileDialog dlg = new SaveFileDialog(); dlg.FileName = "活动文件下载"; //dlg.Reset(); if (docstr == ".doc" || docstr == ".docx") { dlg.Filter += "Word 文件|*.doc;*.docx"; } else if (docstr == ".xls" || docstr == ".xlsx") { dlg.Filter += "Excel 文件|*.xls;*.xlsx"; } // dlg.Filter = "Office Files|*.doc;*.docx;*.xls;*.xlsx"; if (dlg.ShowDialog() == true) { try { webClient.DownloadFile(serviceDocPath, dlg.FileName); MessageBox.Show("文件下载成功!"); } catch (Exception) { throw; } } } catch (Exception ex) { //MessageBox.Show(ex.GetExceptionMessage()); } }
private void dgList_SelectionChanged(object sender, SelectionChangedEventArgs e) { #region 加载基本信息 if (SummarizeDocSelected == null) { return;//防止单击空白或标题等触发该事件 } currentsummarize = dgList.SelectedItem as SummarizeDoc; isAddOrUpdate = 1;//可以进行修改操作 //if (currentsummarize.IsChecked == true) //{ // currentsummarize.IsChecked = false; // summarizeList.Remove(currentsummarize); //} //else //{ // currentsummarize.IsChecked = true; // summarizeList.Add(currentsummarize); //} bool checkedState = currentsummarize.IsChecked; #endregion #region //预览文件 // string isxpsPath = GetPath() + currentsummarize.FILEFORM.Substring(0, currentsummarize.FILEFORM.LastIndexOf(".")).ToString() + ".xps"; if (System.IO.File.Exists(isxpsPath)) { //已经存xps文件,直接加载 using (XpsDocument xpsDoc = new XpsDocument(isxpsPath, FileAccess.Read)) { var fsxps = xpsDoc.GetFixedDocumentSequence(); xpsDocViewr.Document = fsxps; } } else { //创建xps文件,启动进程耗时 string serviceDocPathXPS = ByteConvertDocService(currentsummarize.FILEPATH, currentsummarize.FILEFORM); string xpsFilePath = serviceDocPathXPS.Substring(0, serviceDocPathXPS.LastIndexOf(".")).ToString() + ".xps"; try { if (OfficeConverter.IsValidOfficeFile(serviceDocPathXPS)) { OfficeConverter.ConvertToXps(serviceDocPathXPS, xpsFilePath); using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read)) { var fsxps = xpsDoc.GetFixedDocumentSequence(); xpsDocViewr.Document = fsxps; } } } catch (Exception ex) { MessageBox.Show(ex.GetExceptionMessage()); } //var convertResults = OfficeToXps.ConvertToXps(serviceDocPathXPS, ref xpsFilePath); //switch (convertResults.Result) //{ // case ConversionResult.OK: // try // { // using (XpsDocument xpsDoc = new XpsDocument(xpsFilePath, FileAccess.Read)) // { // var fsxps = xpsDoc.GetFixedDocumentSequence(); // xpsDocViewr.Document = fsxps; // } // } // catch (Exception ex) // { // } // break; // case ConversionResult.InvalidFilePath: // // 处理文件路径错误或文件不存在 // break; // case ConversionResult.UnexpectedError: // break; // case ConversionResult.ErrorUnableToInitializeOfficeApp: // // Office 未安装会出现这个异常 // break; // case ConversionResult.ErrorUnableToOpenOfficeFile: // // 文件被占用会出现这个异常 // break; // case ConversionResult.ErrorUnableToAccessOfficeInterop: // // Office 未安装会出现这个异常 // break; // case ConversionResult.ErrorUnableToExportToXps: // // 微软 OFFICE Save As PDF 或 XPS 插件未安装异常 // break; //} } #endregion #region 判断全选和保存状态 int ischeckCount = (dgList.ItemsSource as List <SummarizeDoc>).Count(p => p.IsChecked == true); if (ischeckCount == 1 || ischeckCount == 0) { //if (ischeckCount == 1) //{ // //SummarizeDocSelected = (dgList.ItemsSource as List<SummarizeDoc>).Where(p => p.IsChecked == true).FirstOrDefault(); // //RuleName.Text = SummarizeDocSelected.SUMMARIZENAME; // //Sender.Text = SummarizeDocSelected.SENDPERSON; // //dpSendDate.SelectedDate = Convert.ToDateTime(SummarizeDocSelected.SENDDATE); // //tbSynopsis.Text = SummarizeDocSelected.SUMMARY; //} //btnSave.IsEnabled = true; isAddOrUpdate = 1;//可以进行修改操作 } else { //RuleName.Text = ""; //Sender.Text = ""; //dpSendDate.SelectedDate = Convert.ToDateTime(DateTime.Now); //tbSynopsis.Text = ""; //btnSave.IsEnabled = false; isAddOrUpdate = 0; } foreach (SummarizeDoc result in dgList.ItemsSource) { if (result.IsChecked != checkedState) { this.chkAll.IsChecked = null; return; } } chkAll.IsChecked = checkedState; #endregion }