众所周知,WINForm 的 DataGrid 组件的功能强大而且灵活,作为一个数据库程序离开它可不行,但是dataGrid在设计期间采用“套用式样”的方式设计表格的外观并不够灵活,那有没有办法统一管理表格风格呢?答案是有。
    作为数据表格的应用最重要的应该不是风格的颜色搭配,而是字段属性的格式化,要格式化每一列的数据显示值,比如说:dataGrid的记录集如果有个“日期时间”字段的话,就会发现,默认的话其实它只显示了日期部分,而时间被Format掉了,这样的话不能满足应用的需求。很多新手朋友也发过帖子询问如何显示出时间,本人也是属于新手行列,查阅了MSDN后编写了一个管理dataGrid 格式列和风格的类,它可以实现管理‘列宽、字体、标题名、格式类型、是否隐藏、行选、行只读、列只读’的基本功能。
    先大致讲一下格式化列的原理。列的格式由DataGridTextBoxColumn的Format属性进行控制,Format 属性可以支持日期、货币、数值、文本等格式字符,具体信息可以参考MSDN:http://msdn.microsoft.com/library/CHS/cpref/html/frlrfSystemWindowsFormsDataGridTextBoxColumnClassFormatTopic.asp?frame=true。
    这里演示格式化“日期时间”,代码:
DataGridTextBoxColumn gridColumn = DataGridTextBoxColumn();
gridColumn.Format=System.String.Format("yyyy-MM-dd hh:mm:ss",gridColumn.TextBox);
    类的基本流程:
DataGrid 风格管理类测试版源码
    现在我把类的源码贴上面,我不保证代码的一些做法是否合理与正确,仅供参考:   
DataGrid 风格管理类测试版源码using System;
DataGrid 风格管理类测试版源码
using System.ComponentModel;
DataGrid 风格管理类测试版源码
using System.Windows.Forms;
DataGrid 风格管理类测试版源码
using System.Data;
DataGrid 风格管理类测试版源码
using System.Drawing;
DataGrid 风格管理类测试版源码
{

DataGrid 风格管理类测试版源码  
/// 格式化字符串
DataGrid 风格管理类测试版源码  
/// </summary>
{
DataGrid 风格管理类测试版源码    Text = 0x0,     //文本
DataGrid 风格管理类测试版源码
    Boolean,        //是/否(钩选框)
DataGrid 风格管理类测试版源码
    Money,          //货币(¥#0.00)
DataGrid 风格管理类测试版源码
    Numeric,        //数值格式(#0.00)
DataGrid 风格管理类测试版源码
    RealNumber,     //实数(0.000000)
DataGrid 风格管理类测试版源码
    LongDateTime,   //长日期时间(yyyy年mm月dd日 hh:mm:ss)
DataGrid 风格管理类测试版源码
    DateTime,       //日期时间(yyyy-mm-dd hh:mm:ss)
DataGrid 风格管理类测试版源码
    LongDate,       //长日期(yyyy-mm-dd)
DataGrid 风格管理类测试版源码
    ShortDate,      //短日期(yy-mm-dd)
DataGrid 风格管理类测试版源码
    Time            //时间(hh:mm:ss)
DataGrid 风格管理类测试版源码
  };
DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码  
/// StyleManager 的摘要说明。
DataGrid 风格管理类测试版源码  
/// DataGrid 的属性管理类
DataGrid 风格管理类测试版源码  
/// </summary>
{
DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码    public static int lastSelectIndex = -1;
DataGrid 风格管理类测试版源码    
private DataGrid _dataGrid =null;
DataGrid 风格管理类测试版源码    
private DataTable _dataTable =null;
DataGrid 风格管理类测试版源码    
private bool _allowSelectedRow =false;
DataGrid 风格管理类测试版源码    
private int[] ReadonlyRows = null;
DataGrid 风格管理类测试版源码    
private bool isReadonlyRow = false;
DataGrid 风格管理类测试版源码    
private bool _dataGridReadonly = false;
DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码      _dataGrid 
= dataGrid;
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码    [Category(
"Action")]
DataGrid 风格管理类测试版源码    [Description(
"可操作的数据表格")]
{

{
DataGrid 风格管理类测试版源码        _dataGrid
=value;
DataGrid 风格管理类测试版源码        
DataGrid 风格管理类测试版源码        
this._dataGrid.CurrentCellChanged -= new System.EventHandler(this.dataGrid_CurrentCellChanged);
{
{
DataGrid 风格管理类测试版源码            
//修改事件
DataGrid 风格管理类测试版源码
            this._dataGrid.CurrentCellChanged += new System.EventHandler(this.dataGrid_CurrentCellChanged);
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码    [Category(
"Data")]
DataGrid 风格管理类测试版源码    [Description(
"要与数据表格绑定的数据源")]
{


DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码    [Category(
"Appearance")]
DataGrid 风格管理类测试版源码    [Description(
"获取当前的表格风格")]
{

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码    
/// 允许行选择模式
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    [Category("Behavior")]
DataGrid 风格管理类测试版源码    [Description(
"允许行选择模式")]
{

{
DataGrid 风格管理类测试版源码        _allowSelectedRow 
=value;
DataGrid 风格管理类测试版源码        
this._dataGrid.CurrentCellChanged -= new System.EventHandler(this.dataGrid_CurrentCellChanged);
{
{
DataGrid 风格管理类测试版源码            
//修改事件
DataGrid 风格管理类测试版源码
            this._dataGrid.CurrentCellChanged += new System.EventHandler(this.dataGrid_CurrentCellChanged);
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码    [Category(
"Behavior")]
DataGrid 风格管理类测试版源码    [Description(
"表格只读,也可隐藏底部的新增行")]
{


DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 行选择事件
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="sender">对象</param>
DataGrid 风格管理类测试版源码    
/// <param name="e">事件参数</param>
{
DataGrid 风格管理类测试版源码    
{
{
DataGrid 风格管理类测试版源码          this._dataGrid.Select(this._dataGrid.CurrentRowIndex);
{
DataGrid 风格管理类测试版源码            
this._dataGrid.UnSelect(StyleManager.lastSelectIndex);
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码          StyleManager.lastSelectIndex 
= this._dataGrid.CurrentRowIndex;

DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码      
//锁定表格行的算法
{
DataGrid 风格管理类测试版源码        
this._dataGrid.ReadOnly = false;
DataGrid 风格管理类测试版源码        
if(this.ReadonlyRows.Length>0)
{
{
DataGrid 风格管理类测试版源码              
this._dataGrid.ReadOnly = true;
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            }

DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码      }

{
DataGrid 风格管理类测试版源码        
this._dataGrid.ReadOnly = true;
DataGrid 风格管理类测试版源码        
return;
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码    
/// 设置列头风格
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="HeaderFont">字体</param>
DataGrid 风格管理类测试版源码    
/// <param name="HeaderFontColor">文字颜色</param>
DataGrid 风格管理类测试版源码    
/// <returns>是否成功</returns>
{
{
DataGrid 风格管理类测试版源码        DataGridTableStyle currGTS = GetGridTableStyle();
{
DataGrid 风格管理类测试版源码          
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码        currGTS.HeaderFont 
= HeaderFont;
DataGrid 风格管理类测试版源码        currGTS.HeaderForeColor 
= HeaderFontColor;
DataGrid 风格管理类测试版源码        
return true;
{
DataGrid 风格管理类测试版源码        
return false;
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列头风格,默认黑色字体颜色
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="HeaderFont">字体</param>
DataGrid 风格管理类测试版源码    
/// <returns>是否成功</returns>
{
DataGrid 风格管理类测试版源码      return SetHeader(HeaderFont,System.Drawing.Color.Black);
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置表格风格
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="CaptionText">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <param name="CaptionVisible">标题可视</param>
DataGrid 风格管理类测试版源码    
/// <param name="RowHeaderVisible">行头可视</param>
DataGrid 风格管理类测试版源码    
/// <returns>是否成功</returns>
{
{
DataGrid 风格管理类测试版源码        DataGridTableStyle currGTS = GetGridTableStyle();
{
DataGrid 风格管理类测试版源码          
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码        }

{
DataGrid 风格管理类测试版源码          
throw new Exception("无可操作的表格对象!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码        
this._dataGrid.CaptionText = CaptionText;
DataGrid 风格管理类测试版源码        
this._dataGrid.CaptionVisible = CaptionVisible;
DataGrid 风格管理类测试版源码        currGTS.RowHeadersVisible 
= RowHeaderVisible;
DataGrid 风格管理类测试版源码        
return true;
{
DataGrid 风格管理类测试版源码        
return false;
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码    
/// 根据数据类型获取列类型
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="tp">数据类型</param>
DataGrid 风格管理类测试版源码    
/// <returns></returns>
{
{
DataGrid 风格管理类测试版源码        return 2;
{
DataGrid 风格管理类测试版源码        
return 6;
{
DataGrid 风格管理类测试版源码        
return 1;
{
DataGrid 风格管理类测试版源码        
return 3;
{
DataGrid 风格管理类测试版源码        
return 0;
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 获取默认默认风格
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <returns>表风格</returns>
{
{
DataGrid 风格管理类测试版源码        if (_dataGrid.TableStyles.Count<=0&&_dataTable==null)
DataGrid 风格管理类测试版源码          
throw new ArgumentNullException("数据源为空!");
DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码          _dataGrid.DataSource 
= _dataTable;
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码          DataGridTableStyle style 
= new DataGridTableStyle();
DataGrid 风格管理类测试版源码          style.MappingName 
= _dataTable.TableName;
{
DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码              DataGridBoolColumn gridColumn 
= new DataGridBoolColumn();
DataGrid 风格管理类测试版源码              gridColumn.TrueValue 
= true;
DataGrid 风格管理类测试版源码              gridColumn.FalseValue 
= false;
DataGrid 风格管理类测试版源码              gridColumn.MappingName 
= column.ColumnName;
DataGrid 风格管理类测试版源码              gridColumn.HeaderText 
= column.ColumnName;
DataGrid 风格管理类测试版源码              gridColumn.Width 
= _dataGrid.PreferredColumnWidth;
DataGrid 风格管理类测试版源码              style.GridColumnStyles.Add(gridColumn);
DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码              DataGridTextBoxColumn gridColumn 
= new DataGridTextBoxColumn();
DataGrid 风格管理类测试版源码              gridColumn.MappingName 
= column.ColumnName;
DataGrid 风格管理类测试版源码              gridColumn.HeaderText 
= column.ColumnName;
DataGrid 风格管理类测试版源码              gridColumn.Width 
= _dataGrid.PreferredColumnWidth;
DataGrid 风格管理类测试版源码              gridColumn.NullText 
= "";
DataGrid 风格管理类测试版源码              style.GridColumnStyles.Add(gridColumn);
DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码            }

DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码          _dataGrid.TableStyles.Clear();
DataGrid 风格管理类测试版源码          _dataGrid.TableStyles.Add(style);
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码        
return _dataGrid.TableStyles[0];
{
DataGrid 风格管理类测试版源码        
return null;
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码      
return (_dataTable.Columns[ColumnName].DataType==System.Type.GetType("System.Boolean"));
DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码
{
{
{
DataGrid 风格管理类测试版源码          
return i;
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码      
return -1;
DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码    
/// 设置只读的行
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="rowIndexs">行索引数组</param>
DataGrid 风格管理类测试版源码    
/// <param name="Readonly">是否只读</param>
DataGrid 风格管理类测试版源码    
/// <returns>是否成功</returns>
{
{
DataGrid 风格管理类测试版源码        this.isReadonlyRow = Readonly;
DataGrid 风格管理类测试版源码        
this.ReadonlyRows = rowIndexs;
DataGrid 风格管理类测试版源码        
return true;
{
DataGrid 风格管理类测试版源码        
return false;
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列只读属性
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnIndexs">列索引数组</param>
DataGrid 风格管理类测试版源码    
/// <param name="Readonly">只读属性</param>
DataGrid 风格管理类测试版源码    
/// <returns>是否处理成功</returns>
{
DataGrid 风格管理类测试版源码      //获取表风格
{
DataGrid 风格管理类测试版源码        DataGridTableStyle currGTS 
= GetGridTableStyle();
{
DataGrid 风格管理类测试版源码          
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码          
throw new ArgumentOutOfRangeException("只读索引超出范围!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码        DataGridColumnStyle GCS;
DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码      
{
DataGrid 风格管理类测试版源码            
throw new ArgumentOutOfRangeException("索引超出范围!");
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码          GCS 
= currGTS.GridColumnStyles[columnIndexs[i]];
{
DataGrid 风格管理类测试版源码            (GCS 
as DataGridBoolColumn).ReadOnly = Readonly;
{
DataGrid 风格管理类测试版源码            (GCS 
as DataGridTextBoxColumn).ReadOnly = Readonly;
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码        
return true;

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码    
/// 设置列只读属性
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnNames">列名称数组</param>
DataGrid 风格管理类测试版源码    
/// <param name="Readonly">只读属性</param>
DataGrid 风格管理类测试版源码    
/// <returns>是否处理成功</returns>
{
DataGrid 风格管理类测试版源码      //获取表风格
{
DataGrid 风格管理类测试版源码        DataGridTableStyle currGTS 
= GetGridTableStyle();
{
DataGrid 风格管理类测试版源码          
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码          
throw new ArgumentOutOfRangeException("只读索引超出范围!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码        DataGridColumnStyle GCS;
DataGrid 风格管理类测试版源码        
int columnIndex =-1;
{
DataGrid 风格管理类测试版源码          columnIndex 
= getColumnIndex(currGTS,columnNames[i]);
{
DataGrid 风格管理类测试版源码            
throw new Exception("列名称为空或者无效!");
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码          GCS 
= currGTS.GridColumnStyles[columnNames[i]];
{
DataGrid 风格管理类测试版源码            (GCS 
as DataGridBoolColumn).ReadOnly = Readonly;
{
DataGrid 风格管理类测试版源码            (GCS 
as DataGridTextBoxColumn).ReadOnly = Readonly;
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码        
return true;

DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码    
/// 设置列属性
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnIndex">列索引值</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <param name="Format">列格式</param>
DataGrid 风格管理类测试版源码    
/// <param name="Align">靠齐方式</param>
DataGrid 风格管理类测试版源码    
/// <param name="Visible">是否可见</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
{
DataGrid 风格管理类测试版源码        //获取表风格
DataGrid 风格管理类测试版源码
        DataGridTableStyle currGTS = GetGridTableStyle();
DataGrid 风格管理类测试版源码        
string MappingName= null;
{
DataGrid 风格管理类测试版源码          
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码          
throw new ArgumentOutOfRangeException("索引超出范围!");
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码        
//处理参数
DataGrid 风格管理类测试版源码
        Width   = (Math.Abs(Width));
DataGrid 风格管理类测试版源码        Title   
= (Title   == null ? "" : Title);
DataGrid 风格管理类测试版源码        Format  
= ((object)Format  == null ? FormatIndex.Text : Format);
DataGrid 风格管理类测试版源码        Align   
= ((object)Align   == null ? HorizontalAlignment.Left : Align);
DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码        MappingName 
= currGTS.GridColumnStyles[columnIndex].MappingName;
DataGrid 风格管理类测试版源码        
DataGrid 风格管理类测试版源码        DataGridColumnStyle GCS 
= currGTS.GridColumnStyles[columnIndex];
DataGrid 风格管理类测试版源码
{
DataGrid 风格管理类测试版源码          DataGridTextBoxColumn gridColumn 
= (GCS as DataGridTextBoxColumn);
{
DataGrid 风格管理类测试版源码            
case 2
DataGrid 风格管理类测试版源码              gridColumn.Format 
= "C";
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            
case 3:
DataGrid 风格管理类测试版源码              gridColumn.Format 
= "N";
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            
case 5:
DataGrid 风格管理类测试版源码              gridColumn.Format
=System.String.Format("yyyy年MM月dd日 hh:mm:ss",gridColumn.TextBox);
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            
case 6:
DataGrid 风格管理类测试版源码              gridColumn.Format
=System.String.Format("yyyy-MM-dd hh:mm:ss",gridColumn.TextBox);
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            
case 7:
DataGrid 风格管理类测试版源码              gridColumn.Format
=System.String.Format("yyyy-MM-dd",gridColumn.TextBox);
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            
case 8:
DataGrid 风格管理类测试版源码              gridColumn.Format
=System.String.Format("yy-MM-dd",gridColumn.TextBox);
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            
case 9:
DataGrid 风格管理类测试版源码              gridColumn.Format
= System.String.Format("hh:mm:ss",gridColumn.TextBox);
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码            
default:
DataGrid 风格管理类测试版源码              gridColumn.Format 
= "";
DataGrid 风格管理类测试版源码              
break;
DataGrid 风格管理类测试版源码          }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码          gridColumn.Width 
= Width;
DataGrid 风格管理类测试版源码          gridColumn.MappingName 
= MappingName;
DataGrid 风格管理类测试版源码          gridColumn.HeaderText 
= (Title.ToString()==""||Title==null ? MappingName : Title.ToString());
DataGrid 风格管理类测试版源码          gridColumn.Alignment 
= Align;
DataGrid 风格管理类测试版源码          gridColumn.NullText 
= "";
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码        
//隐藏字段
{
DataGrid 风格管理类测试版源码          GCS.Width 
=0;
DataGrid 风格管理类测试版源码          GCS.HeaderText 
="";
DataGrid 风格管理类测试版源码        }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码        
return true;
{
DataGrid 风格管理类测试版源码        
return false;
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnIndex">列索引值</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <param name="Format">列格式</param>
DataGrid 风格管理类测试版源码    
/// <param name="Align">靠齐方式</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      return SetColumn(columnIndex,Width,Title,Format,Align,true);
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见,默认靠齐居左
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnIndex">列索引值</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <param name="Format">列格式</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      return SetColumn(columnIndex,Width,Title,Format,HorizontalAlignment.Left,true);
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见,默认靠齐居左,默认文本格式
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnIndex">列索引值</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      return SetColumn(columnIndex,Width,Title,FormatIndex.Text,HorizontalAlignment.Left,true);
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见,默认靠齐居左,默认文本格式,默认标题为影射名
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnIndex">列索引值</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      return SetColumn(columnIndex,Width,"",FormatIndex.Text,HorizontalAlignment.Left,true);
DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码    
/// 设置列属性
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnName">列名称</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <param name="Format">列格式</param>
DataGrid 风格管理类测试版源码    
/// <param name="Align">靠齐方式</param>
DataGrid 风格管理类测试版源码    
/// <param name="Visible">是否可见</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      DataGridTableStyle currGTS = GetGridTableStyle();
{
DataGrid 风格管理类测试版源码        
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码      
int columnIndex = getColumnIndex(currGTS,columnName);
{
DataGrid 风格管理类测试版源码        
throw new Exception("列名称为空或者无效!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码      
return SetColumn(columnIndex,Width,Title,Format,Align,Visible);      
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnName">列名称</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <param name="Format">列格式</param>
DataGrid 风格管理类测试版源码    
/// <param name="Align">靠齐方式</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      DataGridTableStyle currGTS = GetGridTableStyle();
{
DataGrid 风格管理类测试版源码        
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码      
int columnIndex = getColumnIndex(currGTS,columnName);
{
DataGrid 风格管理类测试版源码        
throw new Exception("列名称为空或者无效!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码      
return SetColumn(columnIndex,Width,Title,Format,Align);      
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见,默认靠齐居左
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnName">列名称</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <param name="Format">列格式</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      DataGridTableStyle currGTS = GetGridTableStyle();
{
DataGrid 风格管理类测试版源码        
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码      
int columnIndex = getColumnIndex(currGTS,columnName);
{
DataGrid 风格管理类测试版源码        
throw new Exception("列名称为空或者无效!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码      
return SetColumn(columnIndex,Width,Title,Format);      
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见,默认靠齐居左,默认文本格式
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnName">列名称</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <param name="Title">标题文本</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      DataGridTableStyle currGTS = GetGridTableStyle();
{
DataGrid 风格管理类测试版源码        
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码      
int columnIndex = getColumnIndex(currGTS,columnName);
{
DataGrid 风格管理类测试版源码        
throw new Exception("列名称为空或者无效!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码      
return SetColumn(columnIndex,Width,Title);      
DataGrid 风格管理类测试版源码    }


DataGrid 风格管理类测试版源码    
/// 设置列属性,默认可见,默认靠齐居左,默认文本格式,默认标题为影射名
DataGrid 风格管理类测试版源码    
/// </summary>
DataGrid 风格管理类测试版源码    
/// <param name="columnName">列名称</param>
DataGrid 风格管理类测试版源码    
/// <param name="Width">宽度</param>
DataGrid 风格管理类测试版源码    
/// <returns>完成状态</returns>
{
DataGrid 风格管理类测试版源码      DataGridTableStyle currGTS = GetGridTableStyle();
{
DataGrid 风格管理类测试版源码        
throw new Exception("初始化表风格出错!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码      
int columnIndex = getColumnIndex(currGTS,columnName);
{
DataGrid 风格管理类测试版源码        
throw new Exception("列名称为空或者无效!");
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码      
return SetColumn(columnIndex,Width);      
DataGrid 风格管理类测试版源码    }

DataGrid 风格管理类测试版源码  }

DataGrid 风格管理类测试版源码}

DataGrid 风格管理类测试版源码
下面的代码是演示如何使用这个类:
DataGrid 风格管理类测试版源码      OleDbConnection conn = new OleDbConnection( "Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Data Source=\"E:\\sf\\DataBasew.mdb\";Mode=Share Deny None;Jet OLEDB:Engine Type=5;Provider=\"Microsoft.Jet.OLEDB.4.0\";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1" );
DataGrid 风格管理类测试版源码            
DataGrid 风格管理类测试版源码      OleDbDataAdapter da 
= new OleDbDataAdapter("SELECT A.设备编号, b.设备名称, b.所属设备组, A.检测时间, A.气体压力, A.换算压力, A.气体湿度, A.气体温度, A.诊断代码 FR" +
DataGrid 风格管理类测试版源码        
"OM (六氟化硫数据 A LEFT OUTER JOIN 测试设备 b ON A.设备编号 = b.编号) ORDER BY b.所属设备组, A.检测时间", conn );
DataGrid 风格管理类测试版源码      DataSet ds 
= new DataSet();
{
DataGrid 风格管理类测试版源码        da.Fill( ds, 
"六氟化硫数据" );
DataGrid 风格管理类测试版源码      }

{
DataGrid 风格管理类测试版源码        MessageBox.Show( ex.Message );
DataGrid 风格管理类测试版源码      }

DataGrid 风格管理类测试版源码
DataGrid 风格管理类测试版源码      
//这里不需要制定,因为要由风格管理类接管,并且避免dataGrid自动初始化表风格影响速度
DataGrid 风格管理类测试版源码      
//dataGrid.DataSource = ds.Tables[0];
DataGrid 风格管理类测试版源码

DataGrid 风格管理类测试版源码      Grid.Service.StyleManager sm 
= new Grid.Service.StyleManager();
DataGrid 风格管理类测试版源码      sm.DataGrid 
= dataGrid;  //目标DataGrid
DataGrid 风格管理类测试版源码
      sm.DataSource = ds.Tables[0];  //目标DataTable
DataGrid 风格管理类测试版源码
      sm.AllowSelectedRow = true//允许行选择
DataGrid 风格管理类测试版源码      
//设置第1列宽200,名称为“设备编号!",数据类型为数值型,局中,不隐藏
DataGrid 风格管理类测试版源码
      sm.SetColumn(0,200,"设备编号 !",Grid.Service.FormatIndex.Numeric,HorizontalAlignment.Center,true);
DataGrid 风格管理类测试版源码      
//设置第2列宽100,不制定名称“用表字段真实名称”,文本类型
DataGrid 风格管理类测试版源码
      sm.SetColumn(1,100,(string)null,Grid.Service.FormatIndex.Text,HorizontalAlignment.Center,true);
DataGrid 风格管理类测试版源码      
//设置第4列为日期时间类型
DataGrid 风格管理类测试版源码
      sm.SetColumn(3,200,(string)null,Grid.Service.FormatIndex.DateTime);


DataGrid 风格管理类测试版源码
      sm.SetHeader(new Font("黑体",9f),Color.Red); //设置列头字体,黑体9号字,红色
DataGrid 风格管理类测试版源码
      sm.SetGrid("测试表格",true,false); //显示表格标题,不显示行标题
DataGrid 风格管理类测试版源码
      
DataGrid 风格管理类测试版源码      conn.Close();

希望这个类对你有所帮助。

相关文章:

  • 2022-01-03
  • 2021-07-29
  • 2021-04-12
  • 2021-07-12
  • 2022-01-14
  • 2022-01-22
  • 2021-09-24
  • 2021-12-03
猜你喜欢
  • 2021-07-04
  • 2021-11-18
  • 2022-03-02
  • 2021-07-11
  • 2022-12-23
  • 2021-11-17
相关资源
相似解决方案