我想从Gridview1中选择一些数据
先存放到Gridview2中然后进行保存到数据库
请问我如何实现?现在可以取到Gridview1中的值 但是无法成功放到Gridview2中?
求解???

解决方案 »

  1.   

    取出 gridview数据
    Gridview2添加一行,重新绑定
    DataSet ds;
      DataRow dr = ds.Tables[0].NewRow();
      dr[0] = System.Int32.Parse("0");
      dr[1] = "";
      dr[2] = "";
      ds.Tables[0].Rows.InsertAt(dr, 0);  Gridview1.DataSource = ds;
      Gridview1.DataBind();   
     
    模版列编辑
    或GridView1.ShowFooter = true;
     在Footer中添加TextBox等
      

  2.   

    foreach (GridViewRow gvrow in GridView控件)
            {
               
            }
      

  3.   

      protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            //gridview.rows[selrow].cols[selcol].tostring(). 
            //string s=GridView3.SelectedRow.Cells[0].Text.Trim();
            //string ProductsName = e.Row.Cells[1].Text;        //string Uints = e.Row.Cells[2].Text;        string Spec = GridView2.DataKeys[e.RowIndex]["Spec"].ToString();
            string ProductsName = GridView2.DataKeys[e.RowIndex]["ProductsName"].ToString();
            string Uints = GridView2.DataKeys[e.RowIndex]["ProductsUints"].ToString();
    return;
        }
    这样取值 然后 用你方法如何实现????
      

  4.   


      partial class Form1
        {
            /// <summary>
            /// 必需的设计器变量。
            /// </summary>
            private System.ComponentModel.IContainer components = null;        /// <summary>
            /// 清理所有正在使用的资源。
            /// </summary>
            /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
            protected override void Dispose(bool disposing)
            {
                if (disposing && (components != null))
                {
                    components.Dispose();
                }
                base.Dispose(disposing);
            }        #region Windows 窗体设计器生成的代码        /// <summary>
            /// 设计器支持所需的方法 - 不要
            /// 使用代码编辑器修改此方法的内容。
            /// </summary>
            private void InitializeComponent()
            {
                this.dataGridView1 = new System.Windows.Forms.DataGridView();
                this.dataGridView2 = new System.Windows.Forms.DataGridView();
                this.button1 = new System.Windows.Forms.Button();
                this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
                this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
                ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
                ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit();
                this.SuspendLayout();
                // 
                // dataGridView1
                // 
                this.dataGridView1.AllowUserToAddRows = false;
                this.dataGridView1.AllowUserToDeleteRows = false;
                this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
                this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Top;
                this.dataGridView1.Location = new System.Drawing.Point(0, 0);
                this.dataGridView1.Name = "dataGridView1";
                this.dataGridView1.ReadOnly = true;
                this.dataGridView1.RowTemplate.Height = 23;
                this.dataGridView1.Size = new System.Drawing.Size(698, 150);
                this.dataGridView1.TabIndex = 0;
                // 
                // dataGridView2
                // 
                this.dataGridView2.AllowUserToAddRows = false;
                this.dataGridView2.AllowUserToDeleteRows = false;
                this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
                this.dataGridView2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
                this.Column1,
                this.Column2});
                this.dataGridView2.Dock = System.Windows.Forms.DockStyle.Bottom;
                this.dataGridView2.Location = new System.Drawing.Point(0, 321);
                this.dataGridView2.Name = "dataGridView2";
                this.dataGridView2.ReadOnly = true;
                this.dataGridView2.RowTemplate.Height = 23;
                this.dataGridView2.Size = new System.Drawing.Size(698, 150);
                this.dataGridView2.TabIndex = 1;
                this.dataGridView2.VirtualMode = true;
                this.dataGridView2.CellValueNeeded += new System.Windows.Forms.DataGridViewCellValueEventHandler(this.dataGridView2_CellValueNeeded);
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(103, 219);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(75, 23);
                this.button1.TabIndex = 2;
                this.button1.Text = "button1";
                this.button1.UseVisualStyleBackColor = true;
                this.button1.Click += new System.EventHandler(this.button1_Click);
                // 
                // Column1
                // 
                this.Column1.HeaderText = "Column1";
                this.Column1.Name = "Column1";
                // 
                // Column2
                // 
                this.Column2.HeaderText = "Column2";
                this.Column2.Name = "Column2";
                // 
                // Form1
                // 
                this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
                this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize = new System.Drawing.Size(698, 471);
                this.Controls.Add(this.button1);
                this.Controls.Add(this.dataGridView2);
                this.Controls.Add(this.dataGridView1);
                this.Name = "Form1";
                this.Text = "Form1";
                ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
                ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit();
                this.ResumeLayout(false);        }        #endregion        private System.Windows.Forms.DataGridView dataGridView1;
            private System.Windows.Forms.DataGridView dataGridView2;
            private System.Windows.Forms.Button button1;
            private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
            private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
        }
        public partial class Form1 : Form
        {
            private List<Data> datas = null;
            private List<Data> sData = null;        public Form1()
            {
                InitializeComponent();            datas = new List<Data>();
                sData = new List<Data>();            for (int index = 0; index < 10; index++)
                {
                    datas.Add(new Data() { Key = index + 1, Value = "值是" + (index + 1).ToString() });
                }            dataGridView1.DataSource = datas;        }        private void button1_Click(object sender, EventArgs e)
            {            
             
                DataGridViewSelectedRowCollection rows = dataGridView1.SelectedRows;                    foreach (DataGridViewRow item in rows)
                {
                    sData.Add(new Data() { Key = (int)item.Cells[0].Value, Value = item.Cells[1].Value.ToString() });
                }            dataGridView2.RowCount = sData.Count;            Refresh();        }        private void dataGridView2_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e)
            {
                if (sData != null && sData.Count > 0 && sData.Count > e.RowIndex)
                {
                    Data item = sData[e.RowIndex];                switch (e.ColumnIndex)
                    {
                        case 0:
                            e.Value = item.Key;
                            break;
                        case 1:
                            e.Value = item.Value;
                            break;
                    }
                }
            }
        }    public class Data
        {
            public int Key { get; set; }        public string Value { get; set; }
        }