【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);
原文地址:https://www.cnblogs.com/LiveYourLife/p/9578326.html