1 核价查询功能优化 2 添加上传商品次数修改功能 3优化备货功能
This commit is contained in:
1 parent
c45254656b
commit
fc017993df
22 files changed
+1661
-869
No files matched your search
@@ -245,7 +245,7 @@ namespace TemuKJD.Extension
|
||||
/// <param name="colNameCollection">单元格名称</param>
|
||||
/// <param name="headerText">合并后的表头显示文字</param>
|
||||
/// <param name="isEnableResizing">是否允许调整大小</param>
|
||||
public static void MergeColumnHeader(this DataGridView dgv, List<string> colNameCollection, string headerText, bool isMultiLevelHeader = false)
|
||||
public static void AddMergeColumnHeader(this DataGridView dgv, List<string> colNameCollection, string headerText, bool isMultiLevelHeader = false)
|
||||
{
|
||||
int nHeight = 0;
|
||||
int nLeft = 0;
|
||||
@@ -261,7 +261,8 @@ namespace TemuKJD.Extension
|
||||
{
|
||||
foreach(var columnName in colNameCollection)
|
||||
{
|
||||
dgv.InvalidateCell(dgv.Columns[columnName].HeaderCell); // 标记单元格为需要重绘
|
||||
if (dgv.Columns.Contains(columnName))
|
||||
dgv.InvalidateCell(dgv.Columns[columnName].HeaderCell); // 标记单元格为需要重绘
|
||||
}
|
||||
dgv.Update();
|
||||
}
|
||||
@@ -284,7 +285,8 @@ namespace TemuKJD.Extension
|
||||
{
|
||||
foreach (var columnName in colNameCollection)
|
||||
{
|
||||
dgv.InvalidateCell(dgv.Columns[columnName].HeaderCell); // 标记单元格为需要重绘
|
||||
if (dgv.Columns.Contains(columnName))
|
||||
dgv.InvalidateCell(dgv.Columns[columnName].HeaderCell); // 标记单元格为需要重绘
|
||||
}
|
||||
dgv.Update();
|
||||
}
|
||||
@@ -411,5 +413,123 @@ namespace TemuKJD.Extension
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static void AddMergeColumn(this DataGridView dgv, List<string> colNameCollection, Color? VerGridColor = null, Color? VerGridSelectColor = null)
|
||||
{
|
||||
int nHeight = 0;
|
||||
int nLeft = 0;
|
||||
int nTop = 0;
|
||||
int nWidth = 0;
|
||||
|
||||
//合并列中某一列的列宽变化时,强制重绘表头
|
||||
dgv.ColumnWidthChanged += (s, e) =>
|
||||
{
|
||||
if (colNameCollection.Contains(e.Column.Name))
|
||||
{
|
||||
foreach (var columnName in colNameCollection)
|
||||
{
|
||||
if (dgv.Columns.Contains(columnName))
|
||||
dgv.InvalidateCell(dgv.Columns[columnName].HeaderCell); // 标记单元格为需要重绘
|
||||
}
|
||||
dgv.Update();
|
||||
}
|
||||
};
|
||||
dgv.Scroll += (s, e) =>
|
||||
{
|
||||
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
|
||||
{
|
||||
bool tag = false;
|
||||
foreach (var columnName in colNameCollection)
|
||||
{
|
||||
var bounds = dgv.Columns[columnName].HeaderCell.ContentBounds;
|
||||
if (bounds.Left < 10 || bounds.Right > dgv.Width - 10)
|
||||
{
|
||||
tag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (tag == true)
|
||||
{
|
||||
foreach (var columnName in colNameCollection)
|
||||
{
|
||||
if (dgv.Columns.Contains(columnName))
|
||||
dgv.InvalidateCell(dgv.Columns[columnName].HeaderCell); // 标记单元格为需要重绘
|
||||
}
|
||||
dgv.Update();
|
||||
}
|
||||
}
|
||||
};
|
||||
//处理重绘事件
|
||||
dgv.CellPainting += (s, e) =>
|
||||
{
|
||||
if (e.RowIndex >=0 && e.ColumnIndex >= 0) // 重绘单元格
|
||||
{
|
||||
string name = dgv.Columns[e.ColumnIndex].Name;
|
||||
if (colNameCollection.Contains(name))
|
||||
{
|
||||
e.PaintBackground(e.CellBounds, true); // false不绘制单元格背景
|
||||
e.PaintContent(e.CellBounds); // 绘制单元格内容,此处要绘制内容
|
||||
|
||||
Brush brush;
|
||||
Pen pen;
|
||||
if (colNameCollection.IndexOf(name) == 0)
|
||||
{
|
||||
nTop = e.CellBounds.Top;
|
||||
nLeft = e.CellBounds.Left;
|
||||
nWidth = e.CellBounds.Width;
|
||||
nHeight = e.CellBounds.Height;
|
||||
foreach (string str2 in colNameCollection)
|
||||
{
|
||||
if (!str2.Equals(name))
|
||||
{
|
||||
nWidth += dgv.Columns[str2].Width;
|
||||
}
|
||||
}
|
||||
}
|
||||
//填充背景(覆盖原来的分隔线)
|
||||
//Rectangle rtTmp = new Rectangle(nLeft, nTop, nWidth, nHeight);
|
||||
//using (brush = new SolidBrush(/*e.CellStyle.BackColor*/dgv.BackgroundColor))
|
||||
//{
|
||||
// var rtBounds = e.CellBounds;
|
||||
// rtBounds.Height -= 1;
|
||||
// e.Graphics.FillRectangle(brush, rtBounds);
|
||||
//}
|
||||
if (colNameCollection.IndexOf(name) < colNameCollection.Count - 1)
|
||||
{
|
||||
var penColor = VerGridColor;
|
||||
// 分隔线
|
||||
if (penColor == null)
|
||||
{
|
||||
//VerGridColor = Color.FromArgb(229, 229, 229);
|
||||
penColor = e.RowIndex % 2 == 0 ? dgv.DefaultCellStyle.BackColor : dgv.AlternatingRowsDefaultCellStyle.BackColor;
|
||||
}
|
||||
var penSelectColor = VerGridSelectColor;
|
||||
if (penSelectColor == null)
|
||||
//VerGridColorSelect = Color.FromArgb(129, 129, 129);
|
||||
penSelectColor = dgv.DefaultCellStyle.SelectionBackColor;
|
||||
if ((dgv.Rows[e.RowIndex].Cells[e.ColumnIndex]).Selected)
|
||||
{
|
||||
using (pen = new Pen(penSelectColor.Value))
|
||||
{
|
||||
var rtBounds = e.CellBounds;
|
||||
e.Graphics.DrawLine(pen, rtBounds.Right - 1, rtBounds.Top, rtBounds.Right - 1, rtBounds.Bottom - 2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
using (pen = new Pen(penColor.Value))
|
||||
{
|
||||
var rtBounds = e.CellBounds;
|
||||
e.Graphics.DrawLine(pen, rtBounds.Right - 1, rtBounds.Top, rtBounds.Right - 1, rtBounds.Bottom - 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
//e.set_Handled(true);
|
||||
e.Handled = true; // 告知系统不再处理表头单元格绘制事件
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user