Основная деталь с использованием формы и datagridviewC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Основная деталь с использованием формы и datagridview

Сообщение Anonymous »

Я хотел бы создать главную/подробную страницу, где родительским элементом (информация о клиенте) является форма в верхней половине окна, а затем таблица данных заказов в нижней половине экрана?
Я нашел статью, в которой в примере используются два представления datagridview, и пытаюсь двигаться дальше.

Я начинаю с одного текстовое поле, содержащее ParentID (я использую Клиент/Заказы Northwind). И это прекрасно работает с существующими записями. Как мне справиться с желанием добавить нового клиента и заказы одновременно?

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
DataSet data;
private BindingSource masterBindingSource = new BindingSource();
private BindingSource detailsBindingSource = new BindingSource();

public Form1()
{
InitializeComponent();
}

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=.\\SQLEXPRESS";
SqlConnection connection = new SqlConnection(connectionString);

// Create a 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 where CustomerID = @id", connection);
masterDataAdapter.SelectCommand.Parameters.AddWithValue("@id", lblParentId.Text);
masterDataAdapter.Fill(data, "Customers");

// Add data from the Orders table to the DataSet.
SqlDataAdapter detailsDataAdapter = new
SqlDataAdapter("select * from Orders where CustomerID = @id", connection);
detailsDataAdapter.SelectCommand.Parameters.AddWithValue("@id", lblParentId.Text);
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.
masterBindingSource.DataSource = data;
masterBindingSource.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.
detailsBindingSource.DataSource = masterBindingSource;
detailsBindingSource.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 btnLoadDetail_Click(object sender, EventArgs e)
{
lblParentId.Text = textBox1.Text;
GetData();
//textBox1.DataBindings.Add("Text", data.Tables[0], "CustomerID");
dataGridView1.DataSource = detailsBindingSource;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/141 ... tagridview
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»