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

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 DataSourceDataView : System.Windows.Forms.Form
  9. {
  10. private System.Windows.Forms.Button retrieveButton ;
  11. private System.Windows.Forms.DataGrid dataGrid ;
  12. private System.Windows.Forms.DataGrid dataGrid2;
  13. private System.Windows.Forms.ComboBox comboBox1;
  14. /// <summary>
  15. /// Construct the window.
  16. /// </summary>
  17. /// <remarks>
  18. /// This method constructs the window by creating both the data grid and the button.
  19. /// </remarks>
  20. public DataSourceDataView ( )
  21. {
  22. /* this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);
  23. this.ClientSize = new System.Drawing.Size (464, 253);
  24. this.Text = "04_DataSourceDataView" ;
  25. this.dataGrid = new System.Windows.Forms.DataGrid ();
  26. dataGrid.BeginInit ();
  27. dataGrid.Location = new System.Drawing.Point (8, 8);
  28. dataGrid.Size = new System.Drawing.Size (448, 208);
  29. dataGrid.TabIndex = 0;
  30. dataGrid.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right ;
  31. this.Controls.Add (this.dataGrid);
  32. dataGrid.EndInit ();
  33. this.retrieveButton = new System.Windows.Forms.Button ();
  34. retrieveButton.Location = new System.Drawing.Point (384, 224);
  35. retrieveButton.Size = new System.Drawing.Size (75, 23);
  36. retrieveButton.TabIndex = 1;
  37. retrieveButton.Anchor = AnchorStyles.Bottom | AnchorStyles.Right ;
  38. retrieveButton.Text = "Retrieve";
  39. retrieveButton.Click += new System.EventHandler (this.retrieveButton_Click);
  40. this.Controls.Add (this.retrieveButton); */
  41. this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);
  42. this.ClientSize = new System.Drawing.Size (464, 493);
  43. this.Text = "04_DataSourceDataView" ;
  44. this.dataGrid = new System.Windows.Forms.DataGrid ();
  45. dataGrid.BeginInit ();
  46. dataGrid.CaptionText = "From Database";
  47. dataGrid.Font = new System.Drawing.Font ("Tahoma", 8);
  48. dataGrid.Location = new System.Drawing.Point (8, 8);
  49. dataGrid.Size = new System.Drawing.Size (448, 208);
  50. dataGrid.TabIndex = 0;
  51. dataGrid.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right ;
  52. this.Controls.Add (this.dataGrid);
  53. dataGrid.EndInit ();
  54. this.retrieveButton = new System.Windows.Forms.Button ();
  55. retrieveButton.Location = new System.Drawing.Point (8, 224);
  56. retrieveButton.Size = new System.Drawing.Size (75, 23);
  57. retrieveButton.TabIndex = 1;
  58. retrieveButton.Anchor = AnchorStyles.Top | AnchorStyles.Left ;
  59. retrieveButton.Text = "Retrieve";
  60. retrieveButton.Click += new System.EventHandler (this.retrieveButton_Click);
  61. this.Controls.Add (this.retrieveButton);
  62. this.comboBox1 = new System.Windows.Forms.ComboBox ();
  63. comboBox1.Location = new System.Drawing.Point (96, 224);
  64. comboBox1.Size = new System.Drawing.Size (360, 21);
  65. comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
  66. comboBox1.TabIndex = 2;
  67. comboBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right ;
  68. comboBox1.SelectedIndexChanged += new System.EventHandler (this.comboBox1_SelectedIndexChanged);
  69. comboBox1.Items.AddRange ( new object[8] { "Added" , "CurrentRows", "Deleted", "ModifiedCurrent", "ModifiedOriginal", "None", "OriginalRows", "Unchanged"} ) ;
  70. this.Controls.Add (this.comboBox1);
  71. this.dataGrid2 = new System.Windows.Forms.DataGrid ();
  72. dataGrid2.BeginInit ();
  73. dataGrid2.Location = new System.Drawing.Point (8, 256);
  74. dataGrid2.Size = new System.Drawing.Size (448, 232);
  75. dataGrid2.DataMember = "";
  76. dataGrid2.CaptionText = "Filtered";
  77. dataGrid2.Font = new System.Drawing.Font ("Tahoma", 8);
  78. dataGrid2.TabIndex = 3;
  79. dataGrid2.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right ;
  80. this.Controls.Add (this.dataGrid2);
  81. dataGrid2.EndInit();
  82. }
  83. protected void comboBox1_SelectedIndexChanged (object sender, System.EventArgs e)
  84. {
  85. DataViewRowState  state ;
  86. switch ( comboBox1.Text )
  87. {
  88. case "Added":
  89. state = DataViewRowState.Added ;
  90. break ;
  91. case "CurrentRows":
  92. state = DataViewRowState.CurrentRows ;
  93. break ;
  94. case "Deleted":
  95. state = DataViewRowState.Deleted ;
  96. break ;
  97. case "ModifiedCurrent":
  98. state = DataViewRowState.ModifiedCurrent ;
  99. break ;
  100. case "ModifiedOriginal":
  101. state = DataViewRowState.ModifiedOriginal ;
  102. break ;
  103. case "None":
  104. state = DataViewRowState.None ;
  105. break ;
  106. case "OriginalRows":
  107. state = DataViewRowState.OriginalRows ;
  108. break ;
  109. case "Unchanged":
  110. state = DataViewRowState.Unchanged ;
  111. break ;
  112. default:
  113. state = DataViewRowState.OriginalRows ;
  114. break;
  115. }
  116. try 
  117. {
  118. ((DataView) dataGrid2.DataSource).RowStateFilter = state ;
  119. }
  120. catch ( Exception ex )
  121. {
  122. System.Windows.Forms.MessageBox.Show ( ex.ToString ( ) ) ;
  123. }
  124. }
  125. /// <summary>
  126. /// Retrieve the data
  127. /// </summary>
  128. /// <param name="sender"> </param>
  129. /// <param name="e"> </param>
  130. protected void retrieveButton_Click (object sender, System.EventArgs e)
  131. {
  132. retrieveButton.Enabled = false ;
  133. string select = "SELECT * FROM products" ;
  134. SqlConnection con = new SqlConnection ( Login.Connection ) ;
  135. SqlDataAdapter da = new SqlDataAdapter ( select , con ) ;
  136. DataSet ds = new DataSet ( ) ;
  137. da.Fill ( ds , "Products" ) ;
  138. dataGrid.SetDataBinding ( ds , "Products" ) ;
  139. DataView  dv = new DataView ( ds.Tables["Products"] ) ;
  140. dataGrid2.SetDataBinding ( dv , null ) ;
  141. comboBox1.Text = "OriginalRows" ;
  142. }
  143. /// <summary>
  144. /// Display the application window
  145. /// </summary>
  146. static void Main() 
  147. {
  148. Application.Run(new DataSourceDataView());
  149. }
  150. }