您的位置:首页 > 编程语言

WinForm 2.0 有代码两个DataGridView实现Master/Details

2007-11-25 21:46 344 查看


private void GetData()

{

try

{

// Specify a connection string. Replace the given value with a

// valid connection string for a Northwind SQL Server sample

// database accessible to your system.

String connectionString =

"Integrated Security=SSPI;Persist Security Info=False;" +

"Initial Catalog=Northwind;Data Source=localhost";

SqlConnection connection = new SqlConnection(connectionString);

// Create a DataSet.

DataSet data = new DataSet();

data.Locale = System.Globalization.CultureInfo.InvariantCulture;

// Add data from the Customers table to the DataSet.

SqlDataAdapter masterDataAdapter = new

SqlDataAdapter("select * from Customers", connection);

masterDataAdapter.Fill(data, "Customers");

// Add data from the Orders table to the DataSet.

SqlDataAdapter detailsDataAdapter = new

SqlDataAdapter("select * from Orders", connection);

detailsDataAdapter.Fill(data, "Orders");

// Establish a relationship between the two tables.

DataRelation relation = new DataRelation("CustomersOrders",

data.Tables["Customers"].Columns["CustomerID"],

data.Tables["Orders"].Columns["CustomerID"]);

data.Relations.Add(relation);

// Bind the master data connector to the Customers table.

this.bindingSource1.DataSource = data;

this.bindingSource1.DataMember = "Customers";

// Bind the details data connector to the master data connector,

// using the DataRelation name to filter the information in the

// details table based on the current row in the master table.

this.bindingSource2.DataSource = bindingSource1;

this.bindingSource2.DataMember = "CustomersOrders";

}

catch (SqlException)

{

MessageBox.Show("To run this example, replace the value of the " +

"connectionString variable with a connection string that is " +

"valid for your system.");

}

}

private void Form1_Load(object sender, EventArgs e)

{

// Bind the DataGridView controls to the BindingSource

// components and load the data from the database.

this.dataGridView1 .DataSource = bindingSource1;

this.dataGridView2.DataSource = bindingSource2;

GetData();

// Resize the master DataGridView columns to fit the newly loaded data.

dataGridView1.AutoResizeColumns();

// Configure the details DataGridView so that its columns automatically

// adjust their widths when the data changes.

dataGridView2.AutoSizeColumnsMode =

DataGridViewAutoSizeColumnsMode.AllCells;

this.bindingNavigator1.BindingSource = this.bindingSource1;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: