WinForm控件之【BindingNavigator】【DataSet】【BindingSource】【DataGridView】

摘要:
=空&&!

基本介绍

数据类控件,数据加载绑定便捷应用相当广泛,具体看例子自行扩展吧;

常设置属性

BindingNavigator--BindingSource:数据来源,绑定后默认项会根据相应的操作按钮执行操作;

BindingNavigator--Items:显示项的集合;

DataSet--Tables:数据集内数据表的集合;

BindingSource--DataSource: 数据源绑定数据集;

BindingSource--Filter、sort:对数据源的筛选、排序;

DataGridView--DataSource:数据源绑定数据集;

DataGridView--Columns、Rows:数据源中列、行的对象集合;

事例举例

WinForm控件之【BindingNavigator】【DataSet】【BindingSource】【DataGridView】第1张

WinForm控件之【BindingNavigator】【DataSet】【BindingSource】【DataGridView】第2张

WinForm控件之【BindingNavigator】【DataSet】【BindingSource】【DataGridView】第3张

WinForm控件之【BindingNavigator】【DataSet】【BindingSource】【DataGridView】第4张

相关代码

        //控件数据绑定
        private void btn_serachData_Click(object sender, EventArgs e)
        {
            string strValue = txt_sql.Text.Trim();
            if (!string.IsNullOrWhiteSpace(strValue))
            {
                //获取数据源绑定DataSet
                dataSet1 = Helpers.DBHelper.GetDataBySql(strValue);
                if (Helpers.UtilityHelper.GetRowCount(dataSet1) > 0)
                {
                    //绑定DataGridView
                    dataGridView1.DataSource = dataSet1.Tables[0];
                    
                    //绑定BindingSource
                    bindingSource1.DataSource = dataSet1;
                    bindingSource1.DataMember = dataSet1.Tables[0].TableName;

                    //指定数据列绑定TextBox
                    txt_code.DataBindings.Add("Text", bindingSource1, "SITE_CODE");
                    txt_name.DataBindings.Add("Text", bindingSource1, "SITE_NAME");

                    //绑定BindingNavigator
                    bindingNavigator1.BindingSource = bindingSource1;
                }
            }
        }

        //dataGridView数据选择联动
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (dataGridView1 != null && !string.IsNullOrWhiteSpace(txt_code.Text))
            {
                //切换数据时,定位选中列表行
                dataGridView1.ClearSelection();
                dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    string str = row.Cells["SITE_CODE"].Value.ToString();
                    if (str.Equals(txt_code.Text))
                    {
                        row.Selected = true;
                        return;
                    }
                }
            }
        }

免责声明:文章转载自《WinForm控件之【BindingNavigator】【DataSet】【BindingSource】【DataGridView】》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇20万DBA都在关注的12个问题 [转载]Linq初体验下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

winform 学习笔记

1、数据表格显示 2、窗体透明代码 3、用信号量实现线程的挂起和恢复 4、加载VisionPP 5、VP实现相机外部触发并注册回调 6、显示图片处理过程 7、单个窗口重复使用 8、VP保存图片 9、多线程并行处理——Task类 10、跨线程使用UI控件 11、图表显示数据 12、窗体淡入淡出显示-winform  13、基于M库访问PLC寄存器 14、串口...

Winform DataGridView CheckBoxColumn c# 单选 解决方案

这个问题由来已久,我最近在工作中也遇到了这个问题,不过属于这个问题比较简单初级的涉及。 发现网上对这个问题的解决方案很多不对,答非所问。 所以这里将我测试成功的解决方案记录下来。 首先,DataGridView CheckBoxColumn 默认是可以多选,不能单选的。 所以无法通过设置来解决,必须通过代码自己控制。 而具体使用哪个事件,哪种逻辑也有很...

Winform界面适应不同分辨率

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.Drawing; namespace ZhaotongT...

WinForm图片抽奖器

闲着蛋疼,写个抽奖器玩玩。界面:2个按钮(一个开始,一个停止),一个label显示当前抽中人的姓名或者编号,一个定时器。原理:在窗体加载的时候,首先加载好在配置文件设置的文件夹内的所有图片保存在一个List中,并且设置好timer的时间,最好是短一点,10-20毫秒之内。在timer的Tick事件中,随机指定一个路径。 详细代码:界面的布局就 省了。配置...

winform让DataGridView显示行号

在做一个东西中用到了DataGridView,并且要显示行号及其他操作(在后面的随笔中再添加吧,还没写好呢),所以,在网上搜索了相关资料,小结如下: 方法一: 我们可以在DataGridView的RowPostPaint事件中进行绘制。RowPostPaint事件,具体可以参照MSDN。 下面是实现代码: 1、 private void Form1_L...

Winform通用模块之流水号生成

  打算接下来的时间里把自己觉得用起来还比较好用的通用模块,在这里向大家介绍一下,如果你有更好的想法时,也希望你不吝指点。 1、数据库表及存储过程     在介绍这个通用流水号生成的模块前,我们先来看一下其相关的表结构:   从上图中我们可以看到,该模块用到的数据表有两个,其实用一个表也可以实现这个功能,我想很多人用到的也只是一个表,但我为什么要分为两个...