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=" ...
随机推荐
- vim常用的配置
.vimrc配置 syntax enable syntax on set relativenumber set autoindent set tabstop=4 set expandtab " ...
- luogu 1004 方格取数
题目描述 设有 $N \times N$ 的方格图 $(N \le 9)$ ,我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 $0$ .如下图所示(见样例): A 0 0 0 0 0 0 ...
- POJ 1830 开关问题(高斯消元)题解
思路:乍一看好像和线性代数没什么关系.我们用一个数组B表示第i个位置的灯变了没有,然后假设我用u[i] = 1表示动开关i,mp[i][j] = 1表示动了i之后j也会跟着动,那么第i个开关的最终状态 ...
- 大数字运算, BigInteger
package com.ykmimi.test1; import java.math.BigInteger; /** * 大数字运算 * @author ukyor * */ public class ...
- JavaScript权威指南2.词法结构
字符集 1.用16位的Unicode字符集编写的,可以表示地球上通用的每一种书面语言.国际化 2.每个字符都是用两个字节表示的 3.大小写敏感:关键字.变量.函数名.标识符:HTML并不区分大小写 H ...
- mysql中时间计算函数SQL DATE_SUB()用法
本文为博主原创,未经允许不得转载: 在写sql的时候,经常要在sql中传值时间,对时间进行计算并过滤.之前都是将时间在后台计算好,直接传值给sql, 今天发现,有一个更方便的sql函数,可以简化很多代 ...
- 【Android实验】第一个Android程序与Activity生命周期
目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...
- illumina support
http://support.illumina.com/help/BaseSpace_App_WGS_BWA_help/Content/Vault/Informatics/Sequencing_Ana ...
- python 重复元素排序
def counting_sort(array1, max_val): m = max_val + count = [] * m for a in array1: # count occurences ...
- python字典按照value进行排序.bak
先说几个解决的方法,具体的有时间再细说 d = {'a':1,'b':4,'c':2} 字典是这个,然后要对字典按照value进行排序 方法一: sorted(d.items(),key = lamb ...