C#连接了SQL之后,如何将一个窗口里面的DataGridView里面的数据显示在另一个窗口?

ooohsehun 2017-11-29 08:54:41


理想是 form3里面的数据可以直接传递到form4中 求助!!
...全文
332 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2017-11-30
  • 打赏
  • 举报
回复
引用 楼主 ooohsehun 的回复:
理想是 form3里面的数据可以直接传递到form4中 求助!!
winform中很简单,当你click这个DataGridView的Row之后,用事件,记录下你这个点击的object的所有内容, 然后传递到form4中,比如new form4(object),具体方法参照2楼,然后打开form4就是你已经看见的值了。
  • 打赏
  • 举报
回复
不管界面如何变化,我们要把界面的基本数据结构和行为先抽象为 ViewModel,然后研究客户需求千变万化、界面千变万化时的声明(html、xaml 等等绑定表达式和模板形式)的设计模式。 能够分层,就能把复杂的交互系统设计得比较简洁。
  • 打赏
  • 举报
回复
每一个窗口,可能都有自己的 ViewModel。例如窗口3有 ViewMode3 实例,窗口4有 ViewModel4 对象,这是很自然地。 但是就单独一份病例来说,ViewModel3可能使用到了它,例如
public VM3
{
    public 病例VM one;
    .......
}
而ViewModel4也可能使用到它,例如
public VM4
{
    public ObservableCollection<病例VM> many;
    .......
}
可以看到,不管窗口的 ViewModel 是什么,它们组合了病例的 ViewModel。不管界面布局和样式如何修改,ViewModel 都是基本不变的,是界面设计的数据基础。
秋的红果实 2017-11-30
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
不同的窗口对象依赖于同一个 ViewModel(或者 Model)对象,这样分层设计比较好。
设计大于编码!
  • 打赏
  • 举报
回复
不同的窗口对象依赖于同一个 ViewModel(或者 Model)对象,这样分层设计比较好。
圣殿骑士18 2017-11-30
  • 打赏
  • 举报
回复
通过form4的构造方法传入
FormChangeTypeEdit edit = new FormChangeTypeEdit(rowData, changeTypeList.OfType<object>().ToList(), metaData, changeTypeQuery);
构造方法:
public FormBaseEdit(object model, List<object> modelList, CachingBase metaData, object headModel = null, bool isCopyAdd = false)
            : base()
        {
            InitializeComponent();

            
            this.editMode = isCopyAdd ? DataEditWinMode.CopyAdd : DataEditWinMode.Edit;
            this.editModel = model;
            this.headModel = headModel;
            this.metaData = metaData;
            this.parentModelList = modelList;
            copySourceModel = ((BaseModel)editModel).Clone();

            this.Text = isCopyAdd ? "复制新增" : "编辑";
        }
帅猪儿 2017-11-29
  • 打赏
  • 举报
回复
如果是传一些数据,建议一个公共的struct,struct内定义公共变了,跨界面访问公共变量就行了。 如果要传DataGridView里面的全部数据,就建立一个公共的DataTable
第18章 程序应用控制 483 18.1 提取信息 484 0795 判断驱动器类型并获取其属性 484 0796 如何得到本地机器的IP 484 0797 如何得到本地运行的EXE的路径 485 0798 得到计算机所有正在运行的进程 485 0799 获得Windows的启动模式 485 0800 获取鼠标的按钮个数及鼠标安装状态 485 0801 检测计算机是否存在网络连接 486 0802 如何判断计算机的联机状态 486 0803 获取计算机屏幕分辨率 486 0804 获取计算机当前登录的用户名称 486 18.2 系统控制 486 0805 远程关闭或重新启动计算机 486 0806 创建应用程序快捷方式 487 0807 启动Windows系统服务 488 0808 在C#应用程序中控制输入法 488 0809 打开“区域和语言选项”对话框并指定选项卡 489 0810 如何执行命令行命令? 489 0811 如何修改计算机的默认打印机 490 0812 如何实现行业软件系统注销功能 490 0813 如何将计算机设置为休眠状态 490 0814 在Windows系统中建立事件日志 491 0815 如何使PC喇叭发音 491 18.3 程序控制 491 0816 使用回车键控制鼠标焦点 491 0817 如何调用可执行应用程序 492 0818 TextBox上禁用鼠标右鍵 492 0819 如何实现屏幕截图 492 0820 如何将截取的图片保存为指定图片格式 493 0821 如何复制程序本身 493 0822 分段显示电话号码颜色 493 0823 软件版本号是如何组成的 493 0824 单击“关闭”按钮或按 Alt + F4 键时最小化窗口 494 0825 屏蔽RichTextBox控件 Ctrl + V 快捷键 495 18.4 其他 495 0826 将DataGridView控件中的数据导入Excel 495 0827 无法获取自定义环境变量的值 496 0828 将组件放到COM+服务器上去 496 0829 调用非托管的DLL文件 497 0830 如何将GridView控件数据导入Word 497 0831 如何将GridView控件数据导入Excel 497 0832 单片机如何实现在线调试 498 0833 单片机如何实现内存优化管理 498 0834 单片机实现文件系统管理 498 0835 杀死进程 498 0836 如何下载某网站上的图片资源 498 第19章 SQL查询相关技术 501 19.1 常用SQL查询技术 502 0837 如何在查询中正确使用单引号“’” 502 0838 SQL中SELECT语句的执行顺序 502 0839 在查询时查询数据为指定长度的数据 502 0840 如何利用WHERE参数过滤数据 503 0841 如何正确地理解和运用SQL中的判式 503 0842 如何正确地理解和使用SQL中的关键字 503 19.2 比较、逻辑运算符查询 504 0843 如何使用算术运算符号进行比较查询 504 0844 如何使用比较运算符号进行比较查询 504 0845 如何使用AND逻辑运算符查询 505 0846 如何使用OR逻辑运算符查询 506 0847 如何联合使用AND和OR运算符查询 506 0848 如何在查询中正确使用逻辑操作符 507 0849 利用通配符进行查询 507 19.3 SQL关键字查询 508 0850 如何使用ESCAPE关键字规定转义字符 508 0851 如何使用BETWEEN进行范围查询 508 0852 如何使用NOT BETWEEN进行范围查询 509 0853 如何使用GROUP BY子句查询 509 0854 如何使用HAVING语句过滤分组数据 510 0855 如何使用ALL关键字查询 510 0856 如何使用CUBE关键字查询 511 19.4 表结构与性能 511 0857 检测信息是否存在 511 0858 @@CPU_BUSY获取CPU的工作时间 511 0859 如何获取磁盘读写次数 512 0860 获取SQL Server服务器名 512 0861 获取数据库标识号 512 0862 判断用户是否访问数据的权限 512 0863 显示表中列信息 512 0864 显示表中任意列名称 513 0865 提高SQL性能加快执行速度 513 0866 控制批处理内语句的执行 513 0867 执行查询但是显示列信息 514 0868 获取连接或试图连接的次数 514 0869 获取当前数据库的语言名 514 19.5 时间与谓词 514 0870 时间函数的使用 514 0871 设置数据库时间表显形式 515 0872 格式化日期显示格式 515 0873 如何正确理解SQL中的NULL值 516 0874 如何使用IsNull()函数来处理空值 516 0875 如何使用Nullif()函数来处理空值 516 0876 查询空值(NULL)的技巧 517 0877 利用关键字DISTINCT去除重复记录 517 0878 巧用TOP子句获取信息 518 0879 巧用CONTAINS谓词检索信息 518 0880 通过ISNULL替换信息 519 0881 比较COMPUTE和GROUP BY 519 0882 如何对指定时间段进行查询 519 0883 对某期间的数据进行查询的几种方法 519 0884 NOT与谓词进行组合条件的查询 520 19.6 聚合函数 520 0885 聚合函数SUM的使用 520 0886 聚合函数AVG的使用 521 0887 如何使用聚合函数MAX 521 0888 如何使用聚合函数MIN 522 0889 如何使用聚合函数COUNT 522 0890 如何使用聚合函数First或Last 523 19.7 子查询与连接查询 523 0891 union与连接之间的区别 523 0892 如何应用IN查询表中的记录信息 524 0893 使用一个单行的子查询来更新列 524 0894 使用IN引入子查询限定查询范围 524 0895 在UPDATE语句中应用子查询 525 0896 如何应用子查询 525 0897 EXISTS与子查询联合应用 525 0898 在FROM子句中的子查询 525 0899 在DELETE语句中应用子查询 526 0900 子查询与聚合函数的应用 526 0901 有效使用内连接 526 0902 如何使用LEFT OUTER JOIN查询 526 0903 如何使用RIGHT OUTER JOIN查询 527 0904 利用CASE语句查询结果 527 19.8 交叉表 528 0905 Access中利用TRASFORM分析数据 528 0906 Access中利用TRASFORM动态分析数据 529 0907 SQL Server实现静态交叉表 529 0908 SQL Server实现动态交叉表 531 19.9 常用数据操作 532 0909 如何对字符串进行查询 532 0910 如何进行单条数据的添加 533 0911 如何进行批量数据的添加 533 0912 如何对数据进行修改 534 0913 如何对数据进行删除 534 0914 对数据数据进行局部删除 534 19.10 高级应用 535 0915 如何使用临时表 535 0916 如何查询表中的列名 535 0917 在查询中如何防止输入指定符串 536 0918 查询指定长度的数据 536 0919 获取当前数据库的详细信息 537 0920 在查询过程中灵活定义与使用别名 538 19.11 视图、存储过程和触发器的使用 538 0921 如何正确认识视图 538 0922 如何获取数据库中的全部用户视图 539 0923 如何通过视图修改数据 539 0924 如何正确理解存储过程 540 0925 如何获取数据库中的全部存储过程 540 0926 如何正确认识触发器 541 0927 Update触发器在系统日志中的应用 542 0928 触发器的嵌套使用 542 0929 获取数据库中的触发器 543 19.12 其他 544 0930 在查询程序中使用变量 544 0931 对查询结果进行排序 544 0932 批量获取结果集信息 545 0933 对查询结果生成表 545 0934 实现数据类型转换 546 0935 获取当前数据库的登录用户名 546 0936 如何正确理解数据库键字 546 0937 将结果转换为XML形式 547 0938 追加查询结果到已存在的表 547 0939 利用对多个表中的字段创建新记录集 547 0940 利用EXECUTE执行SQL语句 548 第20章 数据库技术 549 20.1 Access数据库的使用 550 0941 如何为Access数据库设置密码 550 0942 如何创建加密的Access数据库 550 0943 建立Access数据连接 551 0944 与加密后的Access数据库建立连接 551 0945 如何提取Access数据库中的数据表名 551 0946 随机读取Access数据库记录 552 0947 将Access数据库导入到Excel中(ASP.NET) 552 0948 在.NET 2.0框架下动态创建Access数据库 553 0949 在.NET 2.0框架下动态创建Access数据表 553 0950 如何备份Access数据库 554 20.2 SQL数据库的使用 554 0951 建立SQL Server数据连接 554 0952 如何使用ODBC访问SQL Server数据库 555 0953 读取SQL Server数据表结构 556 0954 在C#中分离SQL Server数据库 557 0955 C#中附加SQL Server数据库 558 0956 C#中附加单文件SQL Server数据库 559 0957 备份SQL Server数据库 559 0958 还原SQL Server数据库 560 0959 开启SQL Server数据库服务 561 0960 断开SQL Server数据库服务 562 0961 如何判断SQL Server数据连接状态 562 0962 获取连接SQL Server数据库的名称 563 0963 获取SQL Server的连接统计数据 563 0964 如何调用SQL Server存储过程 563 0965 如何生成SQL数据库脚本 564 0966 SQL Server 2000无法安装的解决办法 565 20.3 其他 565 0967 如何判断记录是否为NULL 565 0968 建立Oracle数据连接 566 0969 如何在数据表中设置主键 566 0970 DataSet读取XML文件中数据作为数据源 567 0971 如何读取Fox的DBF文件 567 0972 通用方法实现数据增、删、改功能 567 0973 通用方法获取查询结果DataSet数据集 568 0974 同时查询多条SQL语句 568 0975 如何判断是否查询到结果 568 0976 将图片以二进制格式存储到数据库中(asp.net) 569 0977 从DataReader对象读取数据的技巧 569 0978 随机显示数据库记录 569 0979 通过DataTable获得数据表的主键 569 0980 将Access数据库转化为SQL Server数据库 570 0981 将SQL Server数据库转化为Access数据库 571 0982 如何避免数据库死锁现象 572 0983 如何调用带输入参数的存储过程 572 0984 如何获取存储过程返回的结果集 573 0985 取得数据表某个单元格的值 573 0986 在ASP.NET2.0下将数据绑定DropDownList 573 0987 在ADO.NET中实现数据库的事务处理 574 0988 将任意文件保存到数据库中 574 0989 将存储在数据库中的文件提取出来 575 0990 合并具有相同数据表结构的查询结果 575 0991 使用DataTable进行数据检索 575 0992 使用DataView对数据进行检索和排序 576 0993 使用DataSet建立DataTable明细表 576
自己写的C#常用类库,使用时请先添加引用:UsrCustomFun.dll、DevComponents.DotNetBar2.dll,压缩包内的其他文件请与UsrCustomFun.dll放置同一目录,然后在程序中引用命名空间:using UsrCustomFun;包括: 1.自定义MessageBox,消息内容与错误代码分开,使用了6个重载方式。调用方法例子: UserMessageBox.UsrShow("执行SQL查询出错!", "数据库错误", ec.Message.ToString()); 2.等待提示窗口,使用了3个重载方法。 打开:UserWaitBox.UsrShow("等待信息"); 关闭:UserWaitBox.UsrClose(); 3.打印DataGridView,使用了9个重载方式,可自定义标题与打印样式: DataGridViewPrint.PrintDgv(dataGridView); 4.DataTable导出为Excel,3个重载方式: DataTableToExcel.DtToExcel(DataTable); 5.DataTable生成Pdf文件,6个重载方式: UsrExport.ExPdf(dataTable); 6.XML文件操作,可根据XML文件节点、路径来读取、修改、写入XML: UserXml.ReadXml(string XML的路径); UserXml.ReadXmlElement(string XML的路径,节点名称); UserXml.WriteXmlElement(XML路径,节点名称,内容); 7.数据库操作,目前有Access、SqlServer、Oracel (7.1)先配置数据连接字符串: UsrCustomFun.SqlConn.SqlParameters下根据数据库类型返回一个数据连接字符串。 (7.2)再执行数据库操作: (7.2.1)UsrCustomFun.SqlConn.SqlConnAccess下为Access的数据库操作,可根据SQL返回int型、string型、DataTable、DataReader、DataSet及无返回操作。 (7.2.2)UsrCustomFun.SqlConn.SqlConnOracle,操作类型同7.2.1 (7.2.3)UsrCustomFun.SqlConn.SqlConnSqlServer,操作类型同7.2.1

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧