有什么网站像像琉璃神社一样的网站吗

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 3285 人关注过本帖
标题:关于在一个DataGridView中显示两个表
等 级:新手上路
帖 子:453
&&问题点数:0&&回复次数:4&&&
关于在一个DataGridView中显示两个表
如上图,是我一windows应用程序的数据集,其中TMeal为父表,ViewEmployees为子表,我在该数据集中以E_ID创建两表的关系,并将其同时绑定到一个DataGridView中,让其显示两个表中的字段,但现在有一个问题是,如下:表TMeal中有三条记录M_ID
M_InDate--------------------------------- A101
&NULL& A102
但在DataGridView中却只显示第一条和条三条记录,不显示第二条记录,是什么原因???
附件: 您没有浏览附件的权限,请
搜索更多相关主题的帖子:
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13553
专家分:3076
select m_id,m_bit,a.e_id,m_indate from tmeal a join viewemployees b on a.e_id=b.e_id
把这句SQL语句查询出来的数据进行绑定到dataGridView上就行了.
等 级:新手上路
帖 子:453
我是在向应用程序添加数据集(即.xsd文件)时,在里面建立所关系.这样行不行?
帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
等 级:新手上路
请问楼主是怎么在DATAGRIDVIEW上绑定两个表的
等 级:新手上路
帖 子:453
TO:k 我是直接从"数据源"工具栏中将两具表拖到同一个DataGridView控件上,她就自动的绑定了两个表(父子表,一对一关系)我使用的是VS.net2005
帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
版权所有,并保留所有权利。
Powered by , Processed in 0.080237 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved14186人阅读
数据库读取数据并保存在一个集合中.
使用DataGridView来显示数据.
1 &Form1 用于用户登录验证
Form1 Code
using System.Collections.G
using System.D
using System.D
using System.L
using System.T
using System.Windows.F
namespace DataGridViewTest2
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void button1_Click(object sender, EventArgs e)
string username = txtUsername.T
string password = txtPassword.T
DBConnect dbc = new DBConnect();
int s = dbc.UserLogin(username, password);
if (1 == s)
MessageBox.Show(&Incorrect Username&);
if (2 == s)
MessageBox.Show(&Incorrect Password&);
if(0 == s)
Form2 form2 = new Form2(this);
//this.Hide();
form2.ShowDialog();
2. Form2, 用记显示数据, 它只有一个DataGridView控件
Form2 Code
using System.Collections.G
using System.D
using System.D
using System.L
using System.T
using System.Windows.F
using System.C
namespace DataGridViewTest2
public partial class Form2 : Form
Form1 form1;
public Form2(Form1 form1)
InitializeComponent();
this.form1 = form1;
private void Form2_Load(object sender, EventArgs e)
DBConnect dbc = new DBConnect();
ArrayList UserList = new ArrayList();
UserList = dbc.ExportData();
UserList.Reverse();
//DataGridView设置
DataTable DataTable1 = new DataTable();
DataTable1.Columns.AddRange(new DataColumn[] { new DataColumn(&ID&), new DataColumn(&Name&), new DataColumn(&Sex&), new DataColumn(&Age&), new DataColumn(&Address&) });
foreach (User users in UserList)
DataTable1.Rows.Add(users.Id, users.Username, users.Sex==0?&男&:&女& , users.Age, users.Address);
dataGridView1.DataSource = DataTable1;
3. BDConnect.cs, 数据库链接, 用于验证和提取数据
using System.Collections.G
using System.L
using System.T
using System.Data.SqlC
using System.C
namespace DataGridViewTest2
class DBConnect
string username,
public int UserLogin(string username, string password)
this.username =
this.password =
//下面这段文字的作用已经在其它博文中解释!
string dataDir = AppDomain.CurrentDomain.BaseD
if (dataDir.EndsWith(@&\bin\Debug\&)
|| dataDir.EndsWith(@&\bin\Release\&))
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullN
AppDomain.CurrentDomain.SetData(&DataDirectory&, dataDir);
using(SqlConnection conn = new SqlConnection(@&Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UserInfo.Integrated Security=TUser Instance=True&))
conn.Open();
using(SqlCommand cmd = conn.CreateCommand())
mandText = &SELECT * FROM UserLogin WHERE username='&+username + &'&;
using(SqlDataReader reader = cmd.ExecuteReader())
if(!reader.Read())
return 1;//没有此用户
string dbpassword = reader.GetString(reader.GetOrdinal(&password&));
if(dbpassword != password)
return 2;//用户密码不对
public ArrayList ExportData()
ArrayList UserList = new ArrayList();
//下面这段文字的作用已经在其它博文中解释!
string dataDir = AppDomain.CurrentDomain.BaseD
if (dataDir.EndsWith(@&\bin\Debug\&)
|| dataDir.EndsWith(@&\bin\Release\&))
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullN
AppDomain.CurrentDomain.SetData(&DataDirectory&, dataDir);
using (SqlConnection conn = new SqlConnection(@&Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UserInfo.Integrated Security=TUser Instance=True&))
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
mandText = &SELECT * FROM UserInfo&;
using (SqlDataReader reader = cmd.ExecuteReader())
while (reader.Read())
User users = new User();
users.Id = (int)reader[0];
users.Username = (string)reader[1];
users.Sex = (int)reader[2];
users.Age = (int)reader[3];
users.Address = (string)reader[4];
UserList.Add(users);
return UserL
4. Users.cs, 用于存储数据
using System.Collections.G
using System.L
using System.T
namespace DataGridViewTest2
class User
private int id, sex,
private string username,
public int Id
set { id = }
public int Sex
set { sex = }
public int Age
set { age = }
public string Username
set { username = }
public string Address
set { address = }
5. 数据库 的两个表
6. 登录成功后显示的结果如下:
从数据库里提取信息的代码有所更新, 使用 SqlDataAdapter来查询数据,并将数据填充到DataTable里反回给DataGridView里显示.
public DataTable ExportData()
DataTable UserTable = new DataTable();
using (SqlConnection conn = new SqlConnection(@&Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UserInfo.Integrated Security=TUser Instance=True&))
using (SqlCommand cmd = conn.CreateCommand())
mandText = &SELECT * FROM UserInfo&;
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
SqlDataAdapter.Fill(UserTable)
return UserT
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:360816次
积分:4900
积分:4900
排名:第5072名
原创:151篇
转载:10篇
评论:62条
(3)(2)(1)(3)(4)(4)(4)(1)(2)(1)(8)(11)(10)(38)(2)(2)(3)(3)(59)11070人阅读
1、 C#在dataGridView中遍历,寻找相同的数据并定位
int row = dataGridView1.Rows.C//得到总行数
int cell=dataGridView1.Rows[1].Cells.C//得到总列数
for (int i = 0; i & i++)//得到总行数并在之内循环
for (int j = 0; j & j++)//得到总列数并在之内循环
if (txtFind.Text == dataGridView1.Rows.Cells[j].Value.ToString())
//对比TexBox中的值是否与dataGridView中的值相同(上面这句)
this.dataGridView1.CurrentCell = this.dataGridView1[j, i];//定位到相同的单元格
2 、可以实现模糊查询了
int row = dataGridView1.Rows.C//得到总行数
int cell=dataGridView1.Rows[1].Cells.C//得到总列数
string strTxt = txtFind.T//得到输入的字符串,并付值给变量
Regex r = new Regex(strTxt); // 定义一个Regex对象实例
for (int i = 0; i & i++)//得到总行数并在之内循环
for (int j = 0; j & j++)//得到总列数并在之内循环
Match m = r.Match(dataGridView1.Rows.Cells[j].Value.ToString()); // 在字符串中模糊匹配
if (m.Success)
//对比TexBox中的值是否与dataGridView中的值相同(上面这句)
dataGridView1.CurrentCell = dataGridView1[j,i];//定位到相同的单元格
3、可以决定是否还要继续查找了
private void button3_Click(object sender, EventArgs e)
int row = dataGridView1.Rows.C//得到总行数
int cell=dataGridView1.Rows[1].Cells.C//得到总列数
string strTxt = txtFind.T//得到输入的字符串,并付值给变量
Regex r = new Regex(strTxt); // 定义一个Regex对象实例
for (int i = 0; i & i++)//得到总行数并在之内循环
for (int j = 0; j & j++)//得到总列数并在之内循环
Match m = r.Match(dataGridView1.Rows.Cells[j].Value.ToString()); // 在字符串中模糊匹配
if (m.Success)
//对比TexBox中的值是否与dataGridView中的值相同(上面这句)
dataGridView1.CurrentCell = dataGridView1[j,i];//定位到相同的单元格
if (MessageBox.Show("是否需要继续查找?", "", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
//如果选择了取消就会返回,如果选择了确定,就会继续查找匹配的.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:312913次
积分:6052
积分:6052
排名:第3617名
原创:294篇
转载:18篇
评论:23条
(1)(2)(1)(1)(1)(1)(4)(4)(2)(1)(4)(3)(4)(1)(9)(14)(12)(120)(14)(8)(19)(5)(5)(15)(45)(1)(16)
() () () ()21:14 提问
C#中如何将多张表添加到同一个datagridview中
C#中如何将多张表添加到同一个datagridview中呢?比如我在做题库系统,在数据库中将不同题型分不同表建,可如何在C#中将所有试题显示在同一个datagridview中呢
按赞数排序
你可以用sql联合查询成一张表,或者不直接绑定数据,而是通过代码添加行
select * from A
select * from B
select * from C
将多个表连接起来,然后一次性绑定给datagridview。前提是A、B、C表的表结构一样。
直接循环添加行是最灵活的。
dataGridView1.Columns.Add("第一列");
dataGridView1.Columns.Add("第二列");
dataGridView1.Columns.Add("第三列");
dataGridView1.Rows.Add(new string[] { "a", "b", "c" });
这样就添加了一行。
联合查询 ,整合一张表。
其他相似问题}

我要回帖

更多关于 和琉璃神社类似的网站 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信