c# datagridview 如何与DataSet绑定实现如下目标:

2024-11-05 02:20:42
推荐回答(3个)
回答(1):

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;
using System.Collections;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        DataTable tblDatas = new DataTable("Datas");
        private void Form1_Load(object sender, EventArgs e)
        {
            DataColumn dc = null;
            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;
            for (int i = 0; i < 20; i++)
            {
                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);
            dataGridView1.DataSource = tblDatas;
            //dataGridView1
        }

        private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            //datagridview变化DataSet数据跟随变化;

            tblDatas.Rows[e.RowIndex][e.ColumnIndex] = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //这个是DataSet数据变化datagridview跟随变化;
            //这个要根据实际来的,这里只有修改dataSet中一个单元格的数据。
            tblDatas.Rows[5][1] = "5555555555";
        }
    }
}

回答(2):

我猜楼主的意思是,当绑定一个DataSet到控件时,控件数据被修改后,并更新被绑定的DataSet
那么楼主你可以通过添加UI事件,UI变化后,修改DataSet中的数据。
另外本身datagridview的DataSource 你可以强制转换为你绑定的类型DataSet,然后,就没有然后了。

回答(3):

你这说的就是给无限死循环么,A变了B变,B变了A又变,总得有一个是固定的吧?你要想实时刷新数据也不用这样啊!