Winform中用comboBox来选择显示Dataset中表格数据
这是一次偷懒的尝试,因为每次都必须打开代码,调试才能看见数据,发现问题。也是借鉴了调试中查看dataset数据的模式,查看不同表格。经历一番研究,总算实现了想要的效果了,故作此一笔记。与人共享。
界面
想要的效果:
代码:
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 FneGTAForApi
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
// iniitem(); }
DataSet ds = new DataSet() ;//全局变量
//初始化数据
public void iniitem()
{
// initdata();
//ArrayList mylist = new ArrayList();
//mylist.Add(new DictionaryEntry("table1", "table1"));
//mylist.Add(new DictionaryEntry("table2", "table2"));
//cbtable.DataSource = mylist;
//cbtable.DisplayMember = "Key";
//cbtable.ValueMember = "Value";
comboBox1.BeginUpdate();
for (int i = ; i < ; i++)
{
comboBox1.Items.Add("Item 1" + i.ToString());
}
comboBox1.EndUpdate();
} //初始化数据可以从数据库中取
public DataSet initdata()
{
ds = CreateHotelPriceDataSet(); for (int i = ; i <= ;i++ )
{
DataRow dr = ds.Tables["test"].NewRow();
dr["CityCode"] = "CityCode_" + i.ToString();
dr["HotelCode"] = "HotelCode_" + i.ToString();
dr["testHotelCode"] = "testHotelCode_" + i.ToString();
ds.Tables["test"].Rows.Add(dr);
DataRow dr2 = ds.Tables["testtest88"].NewRow();
dr2["CityCode"] = "2CityCode_" + i.ToString();
dr2["HotelCode"] = "2HotelCode_" + i.ToString();
dr2["testHotelCode"] = "2testHotelCode_" + i.ToString();
dr2["test"] = "2test_" + i.ToString();
ds.Tables["testtest88"].Rows.Add(dr2);
}
return ds;
}
public static DataSet CreateHotelPriceDataSet()
{
DataSet ds = new DataSet();
DataTable dtHotelDetails = new DataTable("test");
dtHotelDetails.Columns.Add("CityCode", typeof(String));
dtHotelDetails.Columns.Add("HotelCode", typeof(String));
dtHotelDetails.Columns.Add("testHotelCode", typeof(String));
ds.Tables.Add(dtHotelDetails);
DataTable RoomsInfo = new DataTable("testtest88");
RoomsInfo.Columns.Add("CityCode", typeof(String));
RoomsInfo.Columns.Add("HotelCode", typeof(String));
RoomsInfo.Columns.Add("testHotelCode", typeof(String));
RoomsInfo.Columns.Add("test", typeof(String));
// ds.Tables.Add(dtHotelDetails);
ds.Tables.Add(RoomsInfo);
return ds;
} private void cbtable_SelectedValueChanged(object sender, EventArgs e)
{
//string select = cbtable.SelectedItem.ToString();
//string select2 = cbtable.SelectedValue.ToString();
// string select = cbtable.SelectedItem.ToString();
string select2 = cbtable.Text;
if (select2 != "System.Collections.DictionaryEntry")
{
dataGridView1.DataSource = ds.Tables[select2.ToString()].DefaultView; //ds.Tables["table1"].DefaultView;//ds.Tables['"'+select2+'"'].DefaultView;
}
} private void button1_Click(object sender, EventArgs e)
{
int selectedIndex = comboBox1.SelectedIndex;
Object selectedItem = comboBox1.SelectedItem;
// Object selectvale = comboBox1.SelectedValue; MessageBox.Show("Selected Item Text: " + selectedItem.ToString() + "\n" +
"Index: " + selectedIndex.ToString());
} //填充选择表
private void button2_Click(object sender, EventArgs e)
{
cbtable.Items.Clear();
ds = null;
ds = initdata();
cbtable.BeginUpdate();
for (int i = ; i < ds.Tables.Count; i++)
{
cbtable.Items.Add(ds.Tables[i].TableName);
}
cbtable.EndUpdate();
cbtable.SelectedIndex = ;
}
}
}
总体来说实现了想要的效果。
Winform中用comboBox来选择显示Dataset中表格数据的更多相关文章
- CSS控制XML与通过js解析xml然后通过html显示xml中的数据
使用CSS控制XML的显示 book.css bookname{ display:block;color:Red} author{ display:block;font-style:italic} p ...
- DataSet 中的数据排序 及 DataRow装成DataTable
1.DataSet 中的数据排序 DataSet ds = new DataSet(); // 获取当前排口的数据 ds = _xiaobill.GetHistoryData(yinZiBianm, ...
- 如何显示mnist中的数据(tensroflow)
在使用mnist数据集的时候,一直想看看数据中原来的图片,还有卷积层.池化层中的图片,经过不断的捣鼓,最后终于显示了出来.只看数据集中的图片用如下代码就好了: import tensorflow. ...
- 使用highcharts显示mongodb中的数据
1.mongodb数据表相关 # 显示数据库 show dbs # 数据库 use ceshi # 显示表 show tables # 创建集合 db.createCollection('infoB' ...
- C# 手动编写 DataSet,DataTable 及遍历DataSet中的数据
一.手动编写DataSet: 有时候不想从数据库导出 DataSet,或者有其他的需要,要将数据库里的DataSet包装成另一个样子,这个时候,了解DataSet的内部结构就非常必要.DataS ...
- 将页面中表格数据导出excel格式的文件(vue)
近期由于项目需要,需要将页面中的表格数据导出excel格式的文件,折腾了许久,在网上各种百度,虽然资料不少,但是大都不全,踩了许多坑,总算是皇天不负有心人,最后圆满解决了. 1.安装相关依赖(npm安 ...
- JSP列表形式显示数据库中的数据 OracleCachedRowSet 实例
现在数据库中有一张用户表,希望用户在jsp页面中输入用户名和密码以及 用户类型,在servlet中插入数据库后,在另一个jsp页面中把数据库中所有的用户名和类型都以列表的形式列出来 可以用Ora ...
- C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.W ...
- asp.net在网页上显示数据库中的数据
第一步: 第二步: 第三步: 第四步:在网页代码中写显示格式代码,如下 <asp:SqlDataSource ID="SqlDataSource1" runat=" ...
随机推荐
- python函数作用域LEGB
我们的在学习Python函数的时候,经常会遇到很多定义域的问题,全部变量,内部变量,内部嵌入的函数,等等,Python是如何查找的呢?以及Python又是按照什么顺序来查找的呢?这里做一个顺序的说明 ...
- HDU 3404 Switch lights(Nim积)题解
题意:在一个二维平面中,有n个灯亮着并告诉你坐标,每回合需要找到一个矩形,这个矩形xy坐标最大的那个角落的点必须是亮着的灯,然后我们把四个角落的灯状态反转,不能操作为败 思路:二维Nim积,看不懂啊, ...
- 全面理解虚拟DOM,实现虚拟DOM
1.为什么需要虚拟DOM DOM是很慢的,其元素非常庞大,页面的性能问题鲜有由JS引起的,大部分都是由DOM操作引起的.如果对前端工作进行抽象的话,主要就是维护状态和更新视图:而更新视图和维护状态都需 ...
- 2018 Machine Learning
2018/8/13 线性模型(西瓜书P53~P73) Optimizer https://blog.csdn.net/u012151283/article/details/78154917 2018/ ...
- [Shiro] - Shiro之进阶
上一个知识点ssm, 哪里需要权限,哪里写注解@RequirePermission就行. 但是,真正项目开发的时候, 这种方式就很有局限性了, 当权限配置关系发生变化, 每次都要修改代码, 编译打包重 ...
- c#传统SqlTransaction事务和TransactionScope事务
事务有很多种,看了一些关于事务的问题,这里做下笔记····· 事务时单个的工作单位.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中永久的组成部分.若果事务遇到错误,则必须取消或 ...
- junit中test注解测试使用案列解析二
本文原创,转载请注明出处 在上文中,已经简单的解析了junit中test注解的使用方法,今天在进行test测试时,遇到了一个异常,于是想深 入的研究一下. 还原一下今天的异常代码: @Service ...
- 4:JavaScript中的对象
对象 --属性+方法(都可以添加) ------继承关系------------原型(类) 获取变量属性:obj.x或者obj[“x”]: this对象----a---范围 arguments对象 参 ...
- python tcp
server import socket host="localhost" port= s=socket.socket(socket.AF_INET,socket.SOCK_STR ...
- jq expando && $.data()
1.使用隐藏控件或者是js全局变量来临时存储数据,全局变量容易导致命名污染,隐藏控件导致经常读写dom浪费性能 jQuery提供了自己的数据缓存方案,使用jQuery数据缓存方案,我们需要掌握$.da ...