C# datagridview 与 binddingNavigator & BindingSource实现联动,实现单表查看修改保存一例
2022/2/23 17:51:28
本文主要是介绍C# datagridview 与 binddingNavigator & BindingSource实现联动,实现单表查看修改保存一例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
学了两个月的WINFORM,越学越感觉C#功能全面,前几天一直在用DATAGRIDVIEW的基本功能,今天尝试了解了 binddingNavigator & BindingSource和DATAGRIDVIEW进行联动,即点击上一下,下一行图标后,下面的textbox文本框的内容可以自动随着变化。
点击修改按钮可以在进行修改;
0# 前提:
定义两个类变量:dt,ds
DataTable dt; BindingSource bs = new BindingSource();
要点:
1#、datagridview的datasource设为 BindingSource,并且将列表中的字段设置DataPropertyName 为DataTable指定的列;
private void BindData() { dataGridView1.DataSource = bs; //把数据源绑定在dataGridView1上 //绑定每列的值显示在DatagridView this.dataGridView1.Columns[0].DataPropertyName = dt.Columns["id"].ToString(); this.dataGridView1.Columns[1].DataPropertyName = dt.Columns["begintime"].ToString(); this.dataGridView1.Columns[2].DataPropertyName = dt.Columns["endtime"].ToString(); this.dataGridView1.Columns[3].DataPropertyName = dt.Columns["clientid"].ToString(); this.dataGridView1.Columns[4].DataPropertyName = dt.Columns["clientname"].ToString(); }
2、将textbox文本框的DataPropertyName 为DataTable指定的列;
this.txtName.DataBindings.Add("Text", bs, "ClientName"); this.txtId.DataBindings.Add("Text", bs, "ClientId"); this.txtGoods.DataBindings.Add("Text", bs, "Goodsid"); this.txtAmount.DataBindings.Add("Text", bs, "amount");
3、将bindingNavigator1的BindingSource = bs,
附上全部代码 ,其中数据库的类定义在DBHelper;
1 using drp.DB; 2 using System; 3 using System.Collections.Generic; 4 using System.ComponentModel; 5 using System.Data; 6 using System.Drawing; 7 using System.Linq; 8 using System.Text; 9 using System.Threading.Tasks; 10 using System.Windows.Forms; 11 12 namespace drp 13 { 14 public partial class FrmTest : Form 15 { 16 DataTable dt; 17 BindingSource bs = new BindingSource(); 18 public FrmTest() 19 { 20 InitializeComponent(); 21 } 22 23 private void FrmTest_Load(object sender, EventArgs e) 24 { 25 26 string sql = "select * from agreement"; 27 dt = DBHelper.ExecuteQuery(sql); 28 bs.DataSource = dt; 29 bindingNavigator1.BindingSource = bs;//把数据源绑定在bindingNavigator1上 30 //把datagridview 的数据源绑定到bs 31 BindData(); 32 33 this.txtName.DataBindings.Add("Text", bs, "ClientName"); 34 this.txtId.DataBindings.Add("Text", bs, "ClientId"); 35 this.txtGoods.DataBindings.Add("Text", bs, "Goodsid"); 36 this.txtAmount.DataBindings.Add("Text", bs, "amount"); 37 38 } 39 //修改按钮 40 private void button1_Click(object sender, EventArgs e) 41 { 42 this.txtName.Enabled = true; 43 this.txtId.Enabled = true; 44 this.txtGoods.Enabled = true; 45 this.txtAmount.Enabled = true; 46 this.btnEdit.Enabled = false; 47 this.btnSave.Enabled = true; 48 } 49 // 保存 private void button2_Click(object sender, EventArgs e) 51 { 52 //接受修改 53 bs.EndEdit(); 54 DBHelper.UpdateDataTable(dt,"agreement"); 55 //将保存按钮改为 不可用 56 this.btnSave.Enabled = false; 57 this.btnEdit.Enabled = true; 58 } 59 60 private void button3_Click(object sender, EventArgs e) 61 { 62 63 } 64 65 private void toolStripSave_Click(object sender, EventArgs e) 66 { 67 bs.EndEdit(); 68 BindData(); 69 DBHelper.UpdateDataTable(dt, "agreement"); 70 } 71 72 private void BindData() 73 { 74 dataGridView1.DataSource = bs; //把数据源绑定在dataGridView1上 75 //绑定每列的值显示在DatagridView 76 this.dataGridView1.Columns[0].DataPropertyName = dt.Columns["id"].ToString(); 77 this.dataGridView1.Columns[1].DataPropertyName = dt.Columns["begintime"].ToString(); 78 this.dataGridView1.Columns[2].DataPropertyName = dt.Columns["endtime"].ToString(); 79 this.dataGridView1.Columns[3].DataPropertyName = dt.Columns["clientid"].ToString(); 80 this.dataGridView1.Columns[4].DataPropertyName = dt.Columns["clientname"].ToString(); 81 } 82 } 83 }
这篇关于C# datagridview 与 binddingNavigator & BindingSource实现联动,实现单表查看修改保存一例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具