|
本文要实现的这个功能是在WNFORM的窗体中的DataGrid刷新,自己看代码吧! public class ClassDataGridRefresh { public ClassDataGridRefresh() { }
#region DataGrid刷新
/// <summary> /// DataGrid刷新 /// </summary> /// <param name="DG">DataGrid控件</param> /// <param name="DV">DataView数据源</param> /// <param name="m_strWidth">各列列宽,使用分号“;”分隔</param> /// <param name="m_strHidden">隐藏列,使用分号“;”分隔</param> public static void RefreshDataGrid(System.Windows.Forms.DataGrid DG, System.Data.DataView DV, string m_strWidth, string m_strHidden) { try { RefreshDataGrid(DG, DV, m_strWidth, m_strHidden, true); } catch(Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message.ToString(),"DataGrid刷新错误"); } }
/// <summary> /// DataGrid刷新 /// </summary> /// <param name="DG">DataGrid控件</param> /// <param name="DV">DataView数据源</param> /// <param name="m_strWidth">各列列宽,使用分号“;”分隔</param> /// <param name="m_strHidden">隐藏列,使用分号“;”分隔</param> /// <param name="m_blnIsReDraw">是否每次都重新刷新列头</param> public static void RefreshDataGrid(System.Windows.Forms.DataGrid DG, System.Data.DataView DV, string m_strWidth, string m_strHidden, bool m_blnIsReDraw) { try { int i; int numCols; System.Windows.Forms.DataGridTableStyle ts = new System.Windows.Forms.DataGridTableStyle(); //就是它决定了datagrid是什么样的 System.Windows.Forms.DataGridTextBoxColumn aColumnTextColumn; //要重写的东东 System.Windows.Forms.DataGridBoolColumn aColumnBoolColumn; //要重写的东东
string[] ColumnWidths = m_strWidth.Split(';'); string[] strHiddens = m_strHidden.Split(';');
numCols = DV.Table.Columns.Count;
if (m_blnIsReDraw == true) { foreach(string strHiddenTemp in strHiddens) { if (strHiddenTemp.Length > 0) { DV.Table.Columns[strHiddenTemp].ColumnMapping = System.Data.MappingType.Hidden; } }
DG.Font = new System.Drawing.Font("宋体",10,System.Drawing.FontStyle.Regular); }
DG.DataSource = DV;
共2页: 上一页 1 [2] 下一页
|