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=" ...
随机推荐
- CSS实现三角形、梯形、平行四边形、圆形、椭圆形、对话框、自适应正方形
本文篇幅较长,希望能坚持看完,转载请注明出处,如果觉得好文请给个赞吧 CSS实现梯形 CSS实现三角形和梯形主要是依靠border是梯形的特性来做的,有点像相框的那种感觉. 首先我们先给一个正方形设置 ...
- dp练习 2016.2.24
很经典的一道状压dp(似乎叫做旅行商问题),用f[i][s]表示在到达点i,已经经过的城市用二进制表示为s,于是方程就很简单了: f[i][s] = min { f[j][s ^ (1 << ...
- Java序列化流-ObjectOutputStream、ObjectInputStream
Java对象流的基本概念: 实例代码: 实体类User: import java.io.Serializable; /** * @author zsh * @company wlgzs * @crea ...
- luogu3935 Calculating
标题也许叫整除分块吧 求\(1\)到\(n\)因数的个数\(\sum_{i=1}^n(\sum_{d|n}1)\) 范围\(1e14\)时限3s \(n\sqrt{n}\)的暴力铁定gg 分开考虑 \ ...
- UVa 12325 宝箱
https://vjudge.net/problem/UVA-12325 题意:有一个体积为N的箱子和两种数量无限的宝物.宝物1的体积为S1,价值为V1‘宝物2的体积为S2,价值为V2.计算出最多能装 ...
- ubuntu16.04 安装NVIDIA和CUDA9.2 cudNN7.1
1.安装NVIDIA驱动 (1)查询NVIDIA驱动 首先去官网(http://www.nvidia.com/Download/index.aspx?lang=en-us)查看适合自己显卡的驱动(下载 ...
- eclipse 与 tomcat 的那些路径
我们用mvn创建了一个web工程,同时希望在eclipse里调试开发.mvn有mvn的路径要求,eclispe有eclipse的默认路径,怎么整合二者? 首先介绍一下eclipse的默认路径. 重点在 ...
- English trip -- VC(情景课) 7 D Reading 阅读练习
Read Hi patty, This morning, Smuel and I are going to The Clothes place. Samuel needs blue pants.He ...
- android----HttpClient的get,post和图片上传服务器
HttpClient是Apache Jakarta Common下的子项目,用来提供高效的.最新的.功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议.HttpCli ...
- Garlands CodeForces - 707E (离线树状数组)
大意: 给定n*m矩阵, k条链, 链上每个点有权值, 每次操作可以关闭或打开一条链或询问一个子矩阵内未关闭的权值和. 关键询问操作比较少, 可以枚举每条链, 暴力算出该条链对每个询问的贡献. 最后再 ...