提交当前本机整理版本
This commit is contained in:
@@ -0,0 +1,224 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using DevExpress.XtraTreeList;
|
||||
using DevExpress.XtraTreeList.Columns;
|
||||
using DevExpress.XtraTreeList.ViewInfo;
|
||||
using Lskj.Control.Model;
|
||||
using Lskj.Core;
|
||||
using Lskj.Model;
|
||||
using Lskj.PubModuleDetail;
|
||||
|
||||
namespace cs2
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
//DBConfig.Instance.ServerName = "221.10.118.38,9993";
|
||||
//DBConfig.Instance.DataBase = "lserp_cy";
|
||||
ERPInfo.Instance.UserId ="1";
|
||||
DBConfig.Instance.CreateConnection();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
richTextBox.ReadOnly = true; // 设置为只读模式
|
||||
|
||||
// 设置文本内容和超链接部分
|
||||
string text = "点击https://b.vip166.com/打开示例网站,并查看更多信息。";
|
||||
string url = "https://b.vip166.com/";
|
||||
richTextBox.Text = text;
|
||||
|
||||
// 在文本中插入超链接部分
|
||||
int linkStart = text.IndexOf("https://b.vip166.com/"); // 查找超链接文本的位置
|
||||
int linkLength = "https://b.vip166.com/".Length;
|
||||
|
||||
// 选择文本并将其设置为超链接
|
||||
richTextBox.Select(linkStart, linkLength);
|
||||
richTextBox.SelectionColor = System.Drawing.Color.Blue;
|
||||
richTextBox.SelectionFont = new System.Drawing.Font(richTextBox.Font, System.Drawing.FontStyle.Underline);
|
||||
|
||||
// 捕获点击事件,打开网页
|
||||
richTextBox.LinkClicked += RichTextBox_LinkClicked;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
treeList1.ColumnPanelRowHeight = 50;
|
||||
treeList1.Bands.AddBand("测试");
|
||||
|
||||
//TreeListBand treeListBand = new TreeListBand();
|
||||
//treeListBand.Caption = "测试2";
|
||||
|
||||
// 添加列
|
||||
for (int i = 1; i < 4; i++)
|
||||
{
|
||||
|
||||
TreeListColumn gridColumn = new TreeListColumn();
|
||||
gridColumn.FieldName = "" + i;
|
||||
gridColumn.Name = "" + i;
|
||||
gridColumn.Caption = "" + i;
|
||||
gridColumn.Width = 50;
|
||||
|
||||
gridColumn.VisibleIndex = i;
|
||||
gridColumn.Visible = true;
|
||||
|
||||
gridColumn.OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList;
|
||||
gridColumn.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
|
||||
|
||||
// treeListBand.Columns.Add(gridColumn);
|
||||
|
||||
treeList1.Bands[0].Columns.Add(gridColumn);
|
||||
//this.treeList1.Columns.AddRange(new TreeListColumn[] { gridColumn });
|
||||
|
||||
}
|
||||
//this.treeList1.Bands.Add(treeListBand);
|
||||
//treeList1.Columns.AddField("Column1").Caption = "Column 1";
|
||||
//treeList1.Columns.AddField("Column2").Caption = "Column 2";
|
||||
//treeList1.Columns.AddField("Column3").Caption = "Column 3";
|
||||
|
||||
// 绑定数据
|
||||
treeList1.AppendNode(new object[] { "Data1", "Data2", "Data3" }, null);
|
||||
treeList1.AppendNode(new object[] { "Data4", "Data5", "Data6" }, null);
|
||||
|
||||
// 订阅 CustomDrawColumnHeader 事件
|
||||
//treeList1.CustomDrawColumnHeader += TreeList1_CustomDrawColumnHeader;
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void RichTextBox_LinkClicked(object sender, LinkClickedEventArgs e)
|
||||
{
|
||||
if (e.LinkText == "https://b.vip166.com/")
|
||||
{
|
||||
System.Diagnostics.Process.Start("https://b.vip166.com/");
|
||||
}
|
||||
}
|
||||
|
||||
private void TreeList1_CustomDrawColumnHeader(object sender, CustomDrawColumnHeaderEventArgs e)
|
||||
{
|
||||
// 获取所有列
|
||||
TreeListColumn[] columns = treeList1.Columns.ToArray();
|
||||
|
||||
// 遍历列,检查是否需要合并
|
||||
for (int i = 0; i < columns.Length; i++)
|
||||
{
|
||||
// 获取当前列的表头名称
|
||||
string currentCaption = columns[i].Caption;
|
||||
|
||||
// 查找相邻列是否有相同名称
|
||||
int mergeCount = 1;
|
||||
for (int j = i + 1; j < columns.Length; j++)
|
||||
{
|
||||
if (columns[j].Caption == currentCaption)
|
||||
mergeCount++;
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
// 如果需要合并
|
||||
if (mergeCount > 1)
|
||||
{
|
||||
// 计算合并区域的宽度
|
||||
int mergedWidth = 0;
|
||||
for (int k = i; k < i + mergeCount; k++)
|
||||
{
|
||||
mergedWidth += columns[k].Width;
|
||||
}
|
||||
|
||||
// 获取当前列的绘制区域
|
||||
Rectangle mergedBounds = new Rectangle(
|
||||
GetColumnXPosition(columns[i]),
|
||||
e.Bounds.Y,
|
||||
mergedWidth,
|
||||
e.Bounds.Height
|
||||
);
|
||||
|
||||
// 绘制合并后的表头
|
||||
e.Graphics.FillRectangle(Brushes.LightGray, mergedBounds);
|
||||
e.Graphics.DrawString(currentCaption, e.Appearance.Font, Brushes.Black, mergedBounds.X + 5, mergedBounds.Y + 5);
|
||||
|
||||
// 跳过已合并的列
|
||||
i += mergeCount - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 不需要合并,正常绘制
|
||||
e.Graphics.FillRectangle(Brushes.LightGray, e.Bounds);
|
||||
e.Graphics.DrawString(currentCaption, e.Appearance.Font, Brushes.Black, e.Bounds.X + 5, e.Bounds.Y + 5);
|
||||
}
|
||||
|
||||
// 阻止默认绘制
|
||||
e.Handled = true;
|
||||
}
|
||||
|
||||
|
||||
//// 设置多表头
|
||||
//if (e.Column != null)
|
||||
//{
|
||||
// // 绘制主表头
|
||||
// e.Graphics.FillRectangle(Brushes.LightGray, e.Bounds);
|
||||
// e.Graphics.DrawString("Main Header", e.Appearance.Font, Brushes.Black, e.Bounds.X + 5, e.Bounds.Y + 5);
|
||||
|
||||
// // 绘制子表头
|
||||
// Rectangle subHeaderBounds = new Rectangle(e.Bounds.X, e.Bounds.Y + e.Bounds.Height / 2, e.Bounds.Width, e.Bounds.Height / 2);
|
||||
// e.Graphics.FillRectangle(Brushes.LightBlue, subHeaderBounds);
|
||||
// e.Graphics.DrawString(e.Column.Caption, e.Appearance.Font, Brushes.Black, subHeaderBounds.X + 5, subHeaderBounds.Y + 5);
|
||||
|
||||
// // 阻止默认绘制
|
||||
// e.Handled = true;
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
private int GetColumnXPosition(TreeListColumn column)
|
||||
{
|
||||
//// 获取 TreeList 的视图信息
|
||||
//TreeListViewInfo viewInfo = treeList1.ViewInfo;
|
||||
|
||||
//// 遍历列的可视信息
|
||||
//foreach (ColumnInfo columnInfo in viewInfo.ColumnsInfo)
|
||||
//{
|
||||
// if (columnInfo.Column == column)
|
||||
// {
|
||||
// // 返回列的 X 轴位置
|
||||
// return columnInfo.Bounds.X;
|
||||
// }
|
||||
//}
|
||||
|
||||
// 如果未找到列,返回 -1
|
||||
return -1;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
//treeList1.ToExcelTreeList("单表");
|
||||
treeList1.ToTreeExcel("单据");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user