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=" ...
随机推荐
- Python3基础 os chdir 改变工作目录
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- BZOJ 4552: [Tjoi2016&Heoi2016]排序 线段树 二分
目录 此代码是个假代码,只能糊弄luogu,以后再改,路过大佬也可以帮一下辣 update 10.6 此代码是个假代码,只能糊弄luogu,以后再改,路过大佬也可以帮一下辣 /* //fang zhi ...
- 【Maven安装】centos安装maven
实践证明,大多数的源码都需要maven的支持编译,所以maven和jdk环境都是必须的 一.官网下载 apache-maven-3.3.9-bin.tar.gz 注意:需要jdk1.7及以上 二.上传 ...
- 51nod 1082 与7无关的数
暴力 打表过的 注意爆int 还有 7的倍数 和 数字中有7的 #include<bits/stdc++.h> using namespace std; typedef long long ...
- C++快速输入输出优化
在这里存一下我的快速输入输出优化 以及写题模板 这里的是$getchar$优化和$putchar$优化,$fread$和$fwrite$暂时咕咕咕 快速输入 这里$define$了一个$I\_int$ ...
- 谈谈java中的final关键字
知识点:final(最终的)关键字修饰类.方法.属性 1.final修饰类:那么这个就无法被继承,如String类.StringBuffer类.System类 2.final修饰方法:被修饰的方法不能 ...
- 【BZOJ】 3238: [Ahoi2013]差异
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3238 求:$${\sum _{i=1}^{n-1}\sum _{j=i+1}^{n}len ...
- python 判断一个数字是否为4的幂
def is_Power_of_four(n): while n and not (n & 0b11): n >>= ) print(is_Power_of_four()) pri ...
- Selenium 对窗口对HTML的操作举例
- MVC 枚举绑定 DropDownList
/// <summary> /// 枚举转化下拉列表数据集 /// </summary> /// <param name="type">类型&l ...