CustomDataGridTableStyle.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:4k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. using System.Windows.Forms;
  3. using System.Data;
  4. using System.Data.SqlClient;
  5. /// <summary>
  6. /// This class provides an example of creating and using a data grid.
  7. /// </summary>
  8. public class CustomDataGridTableStyle : System.Windows.Forms.Form
  9. {
  10. private System.Windows.Forms.Button retrieveButton ;
  11. private System.Windows.Forms.DataGrid dataGrid ;
  12. /// <summary>
  13. /// Construct the window.
  14. /// </summary>
  15. /// <remarks>
  16. /// This method constructs the window by creating both the data grid and the button.
  17. /// </remarks>
  18. public CustomDataGridTableStyle ( )
  19. {
  20. this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);
  21. this.ClientSize = new System.Drawing.Size (464, 253);
  22. this.Text = "07_CustomDataGridTableStyle" ;
  23. this.dataGrid = new System.Windows.Forms.DataGrid ();
  24. dataGrid.BeginInit ();
  25. dataGrid.Location = new System.Drawing.Point (8, 8);
  26. dataGrid.Size = new System.Drawing.Size (448, 208);
  27. dataGrid.TabIndex = 0;
  28. dataGrid.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right ;
  29. this.Controls.Add (this.dataGrid);
  30. dataGrid.EndInit ();
  31. this.retrieveButton = new System.Windows.Forms.Button ();
  32. retrieveButton.Location = new System.Drawing.Point (384, 224);
  33. retrieveButton.Size = new System.Drawing.Size (75, 23);
  34. retrieveButton.TabIndex = 1;
  35. retrieveButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right ;
  36. retrieveButton.Text = "Retrieve";
  37. retrieveButton.Click += new System.EventHandler (this.retrieveButton_Click);
  38. this.Controls.Add (this.retrieveButton);
  39. }
  40. /// <summary>
  41. /// Retrieve the data
  42. /// </summary>
  43. /// <param name="sender"> </param>
  44. /// <param name="e"> </param>
  45. protected void retrieveButton_Click (object sender, System.EventArgs e)
  46. {
  47. retrieveButton.Enabled = false ;
  48. // Create the data that is to be used
  49. DataSet ds = CreateDataSet ( ) ;
  50. // And create the styles...
  51. CreateStyles ( dataGrid ) ;
  52. // Then show the data
  53. dataGrid.SetDataBinding ( ds , "Customers" ) ;
  54. }
  55. /// <summary>
  56. /// Create the on screen representation of the data
  57. /// </summary>
  58. /// <param name="dg"></param>
  59. private void CreateStyles ( DataGrid dg )
  60. {
  61. // Create a DataGridTableStyle for the customers table
  62. DataGridTableStyle style = new DataGridTableStyle ( ) ;
  63. // Map this style to the Customers DataTable
  64. style.MappingName = "Customers" ;
  65. // Setup each alternate row in a different colour
  66. style.AlternatingBackColor = System.Drawing.Color.Bisque ;
  67. // Add in a couple of columns.  First the ID column
  68. DataGridTextBoxColumn customerID = new DataGridTextBoxColumn ( ) ;
  69. customerID.HeaderText = "Customer ID" ;
  70. customerID.MappingName = "CustomerID" ;
  71. customerID.Width = 200 ;
  72. // Then the Name column
  73. DataGridTextBoxColumn name = new DataGridTextBoxColumn ( ) ;
  74. name.HeaderText = "Name" ;
  75. name.MappingName = "CompanyName" ;
  76. name.Width = 300 ;
  77. style.GridColumnStyles.AddRange ( new DataGridColumnStyle [] { customerID , name } ) ;
  78. dg.TableStyles.Add ( style ) ;
  79. }
  80. /// <summary>
  81. /// Create a DataSet for the example
  82. /// </summary>
  83. /// <returns>The Customers DataSet</returns>
  84. private DataSet CreateDataSet ( )
  85. {
  86. string customers = "SELECT * FROM Customers";
  87. SqlConnection con = new SqlConnection ( Login.Connection ) ;
  88. SqlDataAdapter da = new SqlDataAdapter ( customers , con ) ;
  89. DataSet ds = new DataSet ( ) ;
  90. da.Fill ( ds , "Customers" ) ;
  91. return ds ;
  92. }
  93. /// <summary>
  94. /// Display the application window
  95. /// </summary>
  96. static void Main() 
  97. {
  98. Application.Run(new CustomDataGridTableStyle());
  99. }
  100. }