Re[5]: Вывести данные на DataGrid из кода
От: nicknaliv  
Дата: 19.03.03 13:45
Оценка:
Здравствуйте, DemAS, Вы писали:

DAS>Здравствуйте, Alex Medvedev, Вы писали:


AM>>Необходимо вызвать AcceptChanges.


DAS> Не помогает.


DAS> Вот полный код:


DAS>
DAS>using System;
DAS>using System.Drawing;
DAS>using System.Collections;
DAS>using System.ComponentModel;
DAS>using System.Windows.Forms;
DAS>using System.Data;
DAS>using System.Data.OleDb;
DAS>using musicBoxCode.Classes;

DAS>
DAS>namespace musicBoxCode.Forms
DAS>{
DAS>    /// <summary>
DAS>    /// Summary description for Balls.
DAS>    /// </summary>
DAS>    public class Balls : System.Windows.Forms.Form
DAS>    {
DAS>        private System.Windows.Forms.DataGrid dataGrid;
DAS>        private System.Windows.Forms.DataGridTableStyle dataGridTableStyle;
DAS>        private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn_id;
DAS>        private System.Windows.Forms.DataGridTextBoxColumn dataGridTextBoxColumn_name;
DAS>        private System.Windows.Forms.Button button1;
DAS>        /// <summary>
DAS>        /// Required designer variable.
DAS>        /// </summary>
DAS>        private System.ComponentModel.Container components = null;

DAS>        private DataSet ds;

DAS>        public Balls()
DAS>        {
DAS>            //
DAS>            // Required for Windows Form Designer support
DAS>            //
DAS>            InitializeComponent();

DAS>            //
DAS>            // TODO: Add any constructor code after InitializeComponent call
DAS>            //
DAS>        }

DAS>        /// <summary>
DAS>        /// Clean up any resources being used.
DAS>        /// </summary>
DAS>        protected override void Dispose( bool disposing )
DAS>        {
DAS>            if( disposing )
DAS>            {
DAS>                if(components != null)
DAS>                {
DAS>                    components.Dispose();
DAS>                }
DAS>            }
DAS>            base.Dispose( disposing );
DAS>        }

DAS>        #region Windows Form Designer generated code
DAS>        /// <summary>
DAS>        /// Required method for Designer support - do not modify
DAS>        /// the contents of this method with the code editor.
DAS>        /// </summary>
DAS>        private void InitializeComponent()
DAS>        {
DAS>            this.dataGrid = new System.Windows.Forms.DataGrid();
DAS>            this.dataGridTableStyle = new System.Windows.Forms.DataGridTableStyle();
DAS>            this.dataGridTextBoxColumn_id = new System.Windows.Forms.DataGridTextBoxColumn();
DAS>            this.dataGridTextBoxColumn_name = new System.Windows.Forms.DataGridTextBoxColumn();
DAS>            this.button1 = new System.Windows.Forms.Button();
DAS>            ((System.ComponentModel.ISupportInitialize)(this.dataGrid)).BeginInit();
DAS>            this.SuspendLayout();
DAS>            // 
DAS>            // dataGrid
DAS>            // 
DAS>            this.dataGrid.DataMember = "";
DAS>            this.dataGrid.Dock = System.Windows.Forms.DockStyle.Top;
DAS>            this.dataGrid.HeaderForeColor = System.Drawing.SystemColors.ControlText;
DAS>            this.dataGrid.Name = "dataGrid";
DAS>            this.dataGrid.Size = new System.Drawing.Size(242, 200);
DAS>            this.dataGrid.TabIndex = 0;
DAS>            this.dataGrid.TableStyles.AddRange(new System.Windows.Forms.DataGridTableStyle[] {
DAS>                                                                                                 this.dataGridTableStyle});
DAS>            this.dataGrid.Navigate += new System.Windows.Forms.NavigateEventHandler(this.dataGrid_Navigate);
DAS>            // 
DAS>            // dataGridTableStyle
DAS>            // 
DAS>            this.dataGridTableStyle.AlternatingBackColor = System.Drawing.Color.White;
DAS>            this.dataGridTableStyle.BackColor = System.Drawing.Color.LightYellow;
DAS>            this.dataGridTableStyle.DataGrid = this.dataGrid;
DAS>            this.dataGridTableStyle.ForeColor = System.Drawing.Color.Navy;
DAS>            this.dataGridTableStyle.GridColumnStyles.AddRange(new System.Windows.Forms.DataGridColumnStyle[] {
DAS>                                                                                                                 this.dataGridTextBoxColumn_id,
DAS>                                                                                                                 this.dataGridTextBoxColumn_name});
DAS>            this.dataGridTableStyle.HeaderFont = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));
DAS>            this.dataGridTableStyle.HeaderForeColor = System.Drawing.SystemColors.ControlText;
DAS>            this.dataGridTableStyle.MappingName = "Balls";
DAS>            // 
DAS>            // dataGridTextBoxColumn_id
DAS>            // 
DAS>            this.dataGridTextBoxColumn_id.Alignment = System.Windows.Forms.HorizontalAlignment.Center;
DAS>            this.dataGridTextBoxColumn_id.Format = "";
DAS>            this.dataGridTextBoxColumn_id.FormatInfo = null;
DAS>            this.dataGridTextBoxColumn_id.HeaderText = "Код";
DAS>            this.dataGridTextBoxColumn_id.MappingName = "ball_id";
DAS>            this.dataGridTextBoxColumn_id.Width = 40;
DAS>            // 
DAS>            // dataGridTextBoxColumn_name
DAS>            // 
DAS>            this.dataGridTextBoxColumn_name.Alignment = System.Windows.Forms.HorizontalAlignment.Center;
DAS>            this.dataGridTextBoxColumn_name.Format = "";
DAS>            this.dataGridTextBoxColumn_name.FormatInfo = null;
DAS>            this.dataGridTextBoxColumn_name.HeaderText = "Наименование";
DAS>            this.dataGridTextBoxColumn_name.MappingName = "ball_name";
DAS>            this.dataGridTextBoxColumn_name.Width = 125;
DAS>            // 
DAS>            // button1
DAS>            // 
DAS>            this.button1.Location = new System.Drawing.Point(160, 208);
DAS>            this.button1.Name = "button1";
DAS>            this.button1.TabIndex = 1;
DAS>            this.button1.Text = "button1";
DAS>            this.button1.Click += new System.EventHandler(this.button1_Click);
DAS>            // 
DAS>            // Balls
DAS>            // 
DAS>            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
DAS>            this.ClientSize = new System.Drawing.Size(242, 244);
DAS>            this.Controls.AddRange(new System.Windows.Forms.Control[] {
DAS>                                                                          this.button1,
DAS>                                                                          this.dataGrid});
DAS>            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
DAS>            this.Name = "Balls";
DAS>            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
DAS>            this.Text = "Справочник оценок";
DAS>            this.Load += new System.EventHandler(this.Balls_Load);
DAS>            ((System.ComponentModel.ISupportInitialize)(this.dataGrid)).EndInit();
DAS>            this.ResumeLayout(false);

DAS>        }
DAS>        #endregion

DAS>        private void Balls_Load(object sender, System.EventArgs e)
DAS>        {
DAS>            Config cfg = Config.Instance;
DAS>            string connectionString = cfg.connectionString;
DAS>            OleDbConnection conn = new OleDbConnection(connectionString);
DAS>            conn.Open();

DAS>            OleDbDataAdapter adapter = new OleDbDataAdapter("select * from Balls", conn);
DAS>            ds = new DataSet();            
DAS>            
DAS>            adapter.Fill(ds, "Balls");
DAS>            dataGrid.SetDataBinding(ds, "Balls");

DAS>            
DAS>        }

DAS>        private void dataGrid_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne)
DAS>        {
DAS>        
DAS>        }

DAS>        private void button1_Click(object sender, System.EventArgs e)
DAS>        {
DAS>            ds.AcceptChanges();
DAS>        }
DAS>    }
DAS>}

DAS>


DAS>


DAS>


попробуй так
private void button1_Click(object sender, System.EventArgs e)
{
adapter.Update(ds)
ds.AcceptChanges();
}

при этом у адаптера должны быть определены InsertCommand, UpdateCommand, DeleteCommand
их можно построить с помощь класса CommandBuilder
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.