• 【C#技术】一篇文章搞掂:Infragistics组件库


    工具栏

    // 按钮不可按
    tool.SharedProps.Enabled = false;

    Grid

    // Grid中记录时间
    // 建议SQL Server中使用字符字段(没有深入测试,只是字符字段可行),然后设置Grid的属性中,列的Style属性为Time或TimeWithSpin
    
    // 使用代码为Grid列排序
    // 应该先将所有列的VisiblePosition设置为0,再重新设置每一列的值;而且要先从前往后的顺序排列。
    
    // 表格
    // 是否允许修改
    ltGrid1.DisplayLayout.Override.AllowUpdate = Infragistics.Win.DefaultableBoolean.False;
    // 是否允许换行
    ltGrid1.DisplayLayout.Override.CellMultiLine = Infragistics.Win.DefaultableBoolean.False;
    // 多层表格下,第2层表格不显示列头,第1层表格只在第一行显示列头
    ltGrid1.DisplayLayout.Bands[0].Override.HeaderPlacement = HeaderPlacement.FixedOnTop;
    ltGrid1.DisplayLayout.Bands[1].ColHeadersVisible = false;
    
    //// 新绑定的数据列是否显示对应表格列
    ltGrid1.DisplayLayout.NewColumnLoadStyle = NewColumnLoadStyle.Hide;
    // 禁止列进行排序
    ltGrid1.DisplayLayout.Bands[0].Columns["总库存"].SortIndicator = SortIndicator.Disabled;
    // 在bool类型的列上,显示全选按钮
    ultraGridColumn423.Header.CheckBoxVisibility = Infragistics.Win.UltraWinGrid.HeaderCheckBoxVisibility.Always;
    // 最后一列填充满Grid
    ltGrid1.DisplayLayout.AutoFitStyle = AutoFitStyle.ExtendLastColumn;
    // 显示合计
    summarySettings1.DisplayFormat = "{0}";
    summarySettings1.GroupBySummaryValueAppearance = appearance2;
    summarySettings1.ShowCalculatingText = Infragistics.Win.DefaultableBoolean.False;
    summarySettings1.SummaryDisplayArea = Infragistics.Win.UltraWinGrid.SummaryDisplayAreas.BottomFixed;
    ultraGridBand1.Summaries.AddRange(new Infragistics.Win.UltraWinGrid.SummarySettings[] {summarySettings1});
    ultraGridBand1.SummaryFooterCaption = "";
    
    
    //// Grid中获取过滤后的行
    UltraGridRow[] rows = grid.Rows.GetFilteredInNonGroupByRows();
    
    // 单元格
    // 某个单元格是否可以修改
    ltGrid1.DisplayLayout.Bands[0].Columns[0].CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
    // 某个单元格的颜色
    ltGrid1.DisplayLayout.Bands[0].Columns[0].CellAppearance.BackColor = Color.Aqua;
    
    
    // 允许树状结构
    grid1.DisplayLayout.ViewStyle = ViewStyle.MultiBand;
    // 设置最大层数
    grid1.DisplayLayout.MaxBandDepth = 2;
    // 树状结构展开和收缩
    foreach (var row in ltGrid1.Rows)
    {
        row.Expanded = true;
        row.ExpandAll();
        row.CollapseAll();
    }

    Excel导出

    // 打开保存窗口,得到保存文件路径
    String fileName = "";
    SaveFileDialog dialog = new SaveFileDialog();
    dialog.FileName = txtAssmItemNoPrefix.Text; // 默认文件名
    dialog.Filter = "Excel Worksheets|*.xls"; // 文件类型过滤器
    if (dialog.ShowDialog() == DialogResult.OK)
        fileName = dialog.FileName;
    dialog.Dispose();
    
    // 可以把Excel模版放到资源文件中
    var buffer = Properties.Resources.Excel模版;
    using (Stream output = File.OpenWrite(fileName))
    {
        output.Write(buffer, 0, buffer.Length);
    }
    
    // 打开Excel表
    Workbook workbook = Workbook.Load(fileName);
    // 选择工作表
    Worksheet sheetHeader = workbook.Worksheets[0];
    // 去掉合并单元格
    sheetHeader.MergedCellsRegions.Remove(sheetHeader.Rows[0].GetCellAssociatedMergedCellsRegion(0));
    // 增加合并单元格
    WorksheetMergedCellsRegion sheetRegion = sheetHeader.MergedCellsRegions.Add(0, 0, 0, 12);
    // 合并单元格赋值
    sheetRegion.Value = "标题1";
    // 水平居中
    sheetRegion.CellFormat.Alignment = HorizontalCellAlignment.Center;
    // 垂直居中
    sheetRegion.CellFormat.VerticalAlignment = VerticalCellAlignment.Center;
    // 自动换行
    sheetRegion.CellFormat.WrapText = ExcelDefaultableBoolean.True;
    
    // 行高
    sheetHeader.Rows[1].Height = sheetHeader.Rows[1].Height * 3;
    
    // 行和列都是从0开始
    // 单元格赋值
    sheetHeader.Rows[1].Cells[1].Value = DateTime.Now;//订货日期
    sheetHeader.Rows[1].Cells[2].Value = "文字";//销售员
    // 水平居中
    sheetHeader.Rows[1].Cells[2].CellFormat.Alignment = HorizontalCellAlignment.Center;
    // 垂直居中
    sheetHeader.Rows[1].Cells[2].CellFormat.VerticalAlignment = VerticalCellAlignment.Center;
    // 自动换行
    sheetHeader.Rows[1].Cells[2].CellFormat.WrapText = ExcelDefaultableBoolean.True;
    
    // 保存Excel
    workbook.Save(fileName);
  • 相关阅读:
    非常牛的实现三个数交换
    assert后面如果是假则程序崩溃
    python三元操作符
    三种方法划分成绩等级
    爱因斯坦难题
    打印奇数
    判断给到的年份是否为闰年
    【bzoj1895】Pku3580 supermemo Splay
    【bzoj1050】[HAOI2006]旅行comf 并查集
    【bzoj4002】[JLOI2015]有意义的字符串 数论+矩阵乘法
  • 原文地址:https://www.cnblogs.com/LiveYourLife/p/9578326.html
Copyright © 2020-2023  润新知