WinForm 的Datagridview 的问题
在第二个窗体怎样访问第一个窗体Datagridview所选择的列中的cells。然后在第一个窗体对选择的数据行进行更新数据操作。
[解决办法]
弄两个窗体,第一个窗体一个DataGridView和一个Button,第二个窗体两个TextBox。点击第一个窗体的Button获取值显示在第二个窗体的TextBox中,当你保存数据后刷新第一个的窗体的DataGridView,也就是重新绑定一下数据源。
第一个窗体代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace dataGridDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.dataGridView1.DataSource = getTable();
}
private void button1_Click(object sender, EventArgs e)
{
string product = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[1].Value.ToString();
string version = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[2].Value.ToString();
Form2 frm = new Form2();
((TextBox)frm.Controls["textBox1"]).Text = product;
((TextBox)frm.Controls["textBox2"]).Text = version;
frm.Show();
}
public DataTable getTable()
{
DataTable tblDatas = new DataTable("Datas");
DataColumn dc = null;
//赋值给dc,是便于对每一个datacolumn的操作
dc = tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
dc.AutoIncrement = true;//自动增加
dc.AutoIncrementSeed = 1;//起始为1
dc.AutoIncrementStep = 1;//步长为1
dc.AllowDBNull = false;//
dc = tblDatas.Columns.Add("Product", Type.GetType("System.String"));
dc = tblDatas.Columns.Add("Version", Type.GetType("System.String"));
dc = tblDatas.Columns.Add("Description", Type.GetType("System.String"));
DataRow newRow;
newRow = tblDatas.NewRow();
newRow["Product"] = "大话西游";
newRow["Version"] = "2.0";
newRow["Description"] = "我很喜欢";
tblDatas.Rows.Add(newRow);
newRow = tblDatas.NewRow();
newRow["Product"] = "梦幻西游";
newRow["Version"] = "3.0";
newRow["Description"] = "比大话更幼稚";
tblDatas.Rows.Add(newRow);
return tblDatas;
}
}
}