首页 > 其他分享 >winform中使用BindingSource绑定到dataGridView中显示,增删改操作

winform中使用BindingSource绑定到dataGridView中显示,增删改操作

时间:2024-08-24 09:50:34浏览次数:11  
标签:info usersbinding dataGridView Current userlist user BindingSource winform

winform中使用BindingSource绑定到dataGridView数据源,并进行增删改操作。

private BindingSource usersbinding;//定义数据源

//查询记录事件
List data = BLL.UserList();//获取对象集合 List data
//绑定用户列表
if (usersbinding == null)
{
usersbinding = new BindingSource();
usersbinding.PositionChanged += new EventHandler(OnPositionChanged);//行点击事件,不需要可不加
UserDataGridView.DataSource = usersbinding;
}
usersbinding.SuspendBinding();
usersbinding.DataSource = data;
usersbinding.ResumeBinding();
if (usersbinding.Position == 0) OnPositionChanged(null, EventArgs.Empty);

private void OnPositionChanged(object sender, EventArgs e)
{
if (usersbinding.IsBindingSuspended) return;
//右侧详情显示
userlist user = (userlist)usersbinding.Current;
tb_userid.InputText = user.id.ToString();
//详情显示
}

//删除事件中
if(usersbinding.Current != null)
{
userlist user = (userlist)usersbinding.Current;
BLL.DeleteUser(user.id);//数据库删除
usersbinding.RemoveCurrent();//数据源删除
usersbinding.Position = 0;
}

//修改事件中
if (usersbinding.Current == null)
{
FrmDialogEx.ShowDialog(this, "请先选择用户", "确定", "信息提示");
return;
}
sysuserInfo info = new sysuserInfo();
//对象赋值
if (BLL.UpdateUser(info))
{
userlist user = (userlist)usersbinding.Current;
user.id = info.Id;
user.logname = info.LoginName;
user.password = info.PassWord;
user.roleName = info.RoleName;
user.remark = info.Remark;
user.username = info.UserName;
user.roleid = info.RoleId.ToString();
usersbinding.ResetCurrentItem();
}

//新增事件中
userlist user = new userlist();
//对象赋值
if (BLL.AddUser(user ))
{
enumbinding.Add(user );
enumbinding.ResetCurrentItem();
}

标签:info,usersbinding,dataGridView,Current,userlist,user,BindingSource,winform
From: https://www.cnblogs.com/yzxcj/p/18377410

相关文章

  • C#winform软件实现一次编译,跨平台windows和linux、mac兼容运行
    一、背景:微软的.netcore开发工具,目前来看,winform界面软件还没有打算要支持linux系统下运行的意思,要想让c#桌面软件在linux系统上运行,开发起来还比较麻烦。微软只让c#的控制台软件支持在linux运行。二、解决方案:我想到的一个方案是自定义封装软件的System.Windows.Forms组件,把......
  • 界面控件DevExpress WinForms中文教程:Data Grid(数据网格)简介(二)
    DevExpressWinFormsDataGrid是一个高性能的UI组件,由DirectX渲染引擎提供支持。数据网格(GridControl)提供了一个灵活的基于视图的体系结构,包括许多数据塑造和UI自定义特性,数据网格可以显示和编辑来自任何大小和复杂数据源的数据。P.S:DevExpressWinForms拥有180+组件和UI库,能......
  • 【Winform】TabControl使用汇总
     一、改变标签颜色tabControl1.DrawMode=System.Windows.Forms.TabDrawMode.OwnerDrawFixed;ItemTabControl.DrawItem+=newSystem.Windows.Forms.DrawItemEventHandler(ItemTabControl_DrawItem); privatevoidtabControl1_DrawI......
  • winform工具箱安装其他控件
     下载对应的控件dll文件一,新建Winform项目或者打开您已有的Winform项目,选择窗体,显示窗体设计器界面,点击“视图”-“工具箱”,显示工具箱,如下图: 在工具箱,点击鼠标右键,添加选项卡 输入对应控件名 在工具箱中选中选中DEMO选项卡。 安装方法一:根据提示“此组中没有可......
  • Winform(Devexpress)中实现GridView(GridControl)没有数据时,表格显示图片
    1.问题描述:在GridView中当数据源为空或者没有数据时,Grid表格下的画布显示图片;当然要使用到GridView事件:事件是:CustomDrawEmptyForeground代码如下:privatevoid_GridView_CustomDrawEmptyForeground(objectsender,CustomDrawEventArgse){if(_......
  • Winform C#多显示器窗口控制详解
    写Winform程序的时候,有将一个窗口放置到特定的显示器,并且全屏的需求。于是借此机会,好好研究了一番这个Screen类[1],总结了一些方法。Windows的窗口逻辑首先我们需要知道窗口定位的逻辑。以2个窗口为例,下面的图片展示了显示器和坐标的对应关系。注意,使用深色模式可能看不清,可以点......
  • C#winform制作学生列表
    学生列表记录学习制作学生列表的过程。准备数据源​ 建一个实体类,设置数据源的类型。可以新建一个文件夹Model,在它下面建一个Student.cs实体类。Student.csnamespace_1.窗体.Model{//实体类:实体本质对现实的描述,映射ORM(ObjectRelationMapping)//POCOp......
  • 界面控件DevExpress即将推出全新AI功能,WinForms & Blazor组件可用!
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress近期重要版本v24.1已正式发布,该版本拥有众多新产品和数十个具有高影响力......
  • c# Winform程序控件字体模糊、显示不全问题记录
     解决办法:添加应用程序清单文件app.manifest 修改程序清单文件:取消注释  <!--指示该应用程序可感知DPI且Windows在DPI较高时将不会对其进行自动缩放。WindowsPresentationFoundation(WPF)应用程序自动感知DPI,无需选择加入。选择加入此设......
  • 界面控件DevExpress WinForms中文教程:Data Grid(数据网格)简介(一)
    DevExpressWinFormsDataGrid是一个高性能的UI组件,由DirectX渲染引擎提供支持。数据网格(GridControl)提供了一个灵活的基于视图的体系结构,包括许多数据塑造和UI自定义特性,数据网格可以显示和编辑来自任何大小和复杂数据源的数据。P.S:DevExpressWinForms拥有180+组件和UI库,能......