首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

WinForm 的Datagridview 的有关问题

2013-01-11 
WinForm 的Datagridview 的问题在第二个窗体怎样访问第一个窗体Datagridview所选择的列中的cells。然后在第

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应该知道怎么做了吧

热点排行