• 一个继承的 DataGridView


    // 允许增加一个 checkbox 列 
    public class DgvBase : DataGridViewX { protected override void OnColumnAdded(DataGridViewColumnEventArgs e) { base.OnColumnAdded(e); //if (e.Column.ValueType == typeof(int) || e.Column.ValueType == typeof(long) || e.Column.ValueType == typeof(float) // || e.Column.ValueType == typeof(double) || e.Column.ValueType == typeof(decimal)) if (e.Column.ValueType == typeof(decimal)) e.Column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; } protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e) { base.OnRowPostPaint(e); //this.Rows[e.RowIndex].Selected ? this.RowHeadersDefaultCellStyle.SelectionForeColor : TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), this.RowHeadersDefaultCellStyle.Font, new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, this.RowHeadersWidth - 4, e.RowBounds.Height), this.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right); } protected override void OnCellClick(DataGridViewCellEventArgs e) { base.OnCellClick(e); // 设置此列在点击时可改变值 DataGridViewColumn dc = this.Columns [e.ColumnIndex ]; if (dc.ReadOnly && dc.Name == "IsSelected") this[e.ColumnIndex, e.RowIndex].Value = !Generic.ToBoolean(this[e.ColumnIndex, e.RowIndex].Value); } } public static class DgvExtensions { public static void DataBind(this DgvBase dgv, DataTable dt) { if (dt != null && !dt.Columns.Contains("IsSelected")) { DataColumn dc = dt.Columns.Add("IsSelected", typeof(bool)); dc.SetOrdinal(0); } dgv.DataSource = dt; } }
  • 相关阅读:
    [Java123] JDBC and Multi-Threading 多线程编程学习笔记
    3:2D装换 [ 重点 ]
    2:属性选择器 + 结构伪类选择器 + 伪元素
    1:新增 H5 常用属性
    day2
    代码实操第一天
    1 滑动门
    css高级技巧
    11:网页布局总结
    10:定位
  • 原文地址:https://www.cnblogs.com/z5337/p/3600022.html
Copyright © 2020-2023  润新知