读书人

WinForm 的Datagridview 的有关问题

发布时间: 2013-01-11 11:57:35 作者: rapoo

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;
}
}
}



第二个窗体的修改我就没弄呢,我没连接数据库,自己写一下。效果图如下:
WinForm 的Datagridview 的有关问题
[解决办法]
http://bbs.csdn.net/topics/390128592 C# 窗体间传值方法大汇总(
[解决办法]
引用:
那要怎样在第二个窗体修改数据,并且更新到数据库。

给第二个窗体传值的时候把id也传过来,有标识的id应该知道怎么做了吧

读书人网 >.NET Framework

热点推荐