using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using System.Collections.Specialized;
namespace gridview_子母表
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
MySqlConnection con = new MySqlConnection(@"SERVER=localhost;UID=root;DATABASE=anxinwh;PWD=123456;charset = utf8 ;Allow Zero Datetime=True");
con.Open();
#region 主表数据
string stradt = string.Format("select * from t_checkResult");
MySqlDataAdapter adt = new MySqlDataAdapter(stradt, con);
DataTable dt_zhubiao = new DataTable();
adt.Fill(dt_zhubiao);
gridControl1.DataSource = dt_zhubiao.DefaultView;
#endregion
#region 子表数据
string stradt_detail = string.Format("select * from t_checkdetailResult");
MySqlDataAdapter adt_detail = new MySqlDataAdapter(stradt_detail, con);
DataTable dt_detail = new DataTable();
adt_detail.Fill(dt_detail);
ShowDetail(dt_detail);
#endregion
this.gridView1.BestFitColumns();
gridView1.OptionsView.ColumnAutoWidth = true;
}
catch (Exception ex)
{
throw ex;
}
}
private void ShowDetail(DataTable Detail)
{
StringDictionary w_dicConds = new StringDictionary();
w_dicConds["check_id"] = "check_id";
try
{
//设置编辑,保存按钮可用
if (this.gridView1.DataSource == null)
{
return;
}
DataSet ds = new DataSet();
//获取主表数据
DataTable dt;
ds.Tables.Add(((DataView)this.gridView1.DataSource).Table.Copy());
//获取详细数据
dt = Detail.Copy();
if (dt.DataSet != null)
{
dt.DataSet.Tables.Remove(dt);
}
dt.TableName = "t_checkdetailResult";
ds.Tables.Add(dt);
//管理主表与关联表
//将两个gridview建立联系
DataRelation relation1 = new DataRelation("relation",
ds.Tables[0].Columns["check_id"],
ds.Tables[1].Columns["check_id"], false);
ds.Relations.Add(relation1);
this.gridControl1.DataSource = ds.Tables[0];
this.gridView1.BestFitColumns();
this.gridView2.BestFitColumns();
}
catch (Exception ex)
{
throw ex;
}
}
}
}
转载于:https://www.cnblogs.com/lhlong/p/4938716.html
相关资源:gridview与 detailsview的配合使用,显示主表和明细表内容