两个Gridview之间如何传值? 我想从Gridview1中选择一些数据先存放到Gridview2中然后进行保存到数据库请问我如何实现?现在可以取到Gridview1中的值 但是无法成功放到Gridview2中?求解??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 取出 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等 foreach (GridViewRow gvrow in GridView控件) { } 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; }这样取值 然后 用你方法如何实现???? 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; } } winform Form 无法识别问题.... 紧急求助 求助: 4个checkbox获取值得问题 关于事务的问题,????????????? 系统报10009事件错误怎么解决 新手求助!C#入门经典3中一个示例中的代码不理解 MVC 中如何点击<table>的一行获取此行某一列的值? 如何把access文件连接到winform中去? 关于hook,窗体失去焦点后不起作用 c#中数据库的操作 如何修改类库中的字符串 请教HttpRequest类
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等
{
}
{
//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;
}
这样取值 然后 用你方法如何实现????
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; }
}