如何为DataGridView添加一个定制的Column Type

2023-07-06   


这个例子实现了一个把数据中的Boolean值用Y或者N在DataGridView里面显示,步骤如下:
  
   1. 建立一个继承DataGridViewTextBoxCell的类, 代码如下:
  
   using System;
   using System.Collections.Generic;
   using System.Text;
   using System.Windows.Forms;
   using System.Drawing;
  
   namespace com.Threes.CustomControl
  
   public class DataGridViewBooleanCell : DataGridViewTextBoxCell
  
   protected override void Paint(
   Graphics graphics,
   Rectangle clipBounds,
   Rectangle cellBounds,
   int rowIndex,
   DataGridViewElementStates cellState,
   object value,
   object formattedValue,
   string errorText,
   DataGridViewCellStyle cellStyle,
   DataGridViewAdvancedBorderStyle advancedBorderStyle,
   DataGridViewPaintParts paintParts)
  
   // Call the base class method to paint the default cell appearance.
   base.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState,
   value, “”, errorText, cellStyle,
   advancedBorderStyle, paintParts);
   if (value is Boolean && (bool)value == true)
  
   graphics.DrawString(“Y”, cellStyle.Font, new SolidBrush(cellStyle.ForeColor), cellBounds.X, cellBounds.Y);
  
  
  
  
  
  
  
  
   2. 建立一个继承自DataGridViewColumn的类 代码如下:
  
   using System;
   using System.Collections.Generic;
   using System.Text;
   using System.Windows.Forms;
  
   namespace com.Threes.CustomControl
  
   public class DataGridViewBooleanColumn : DataGridViewColumn
  
   public DataGridViewBooleanColumn()
  
   this.CellTemplate = new DataGridViewBooleanCell();
  
  
  
  
   然后把你的DataGridView里面的Boolean列的ColumnType改成以上的这个就可以了


相关内容:

  1. Prototype如何为一个Ajax添加一个参数
  2. Prototype如何为一个Ajax添加一个参数
  3. Prototype中如何为一个元素添加一个方法
  4. Linux如何为某个操作添加别名
  5. 职场中如何为人处事