• 30.03.2017
  • 4 minute de citit

In acest articol

Urmatorul exemplu de cod creeaza un formular master / detail folosind doua controale DataGridView legate de doua componente BindingSource. Sursa de date este un set de date care contine tabelele Clienti si comenzi din baza de date esantion Northwind SQL Server impreuna cu o relatie de date care le leaga pe cele doua prin coloana CustomerID.

O singura sursa de legare este legata de tabelul Clienti parinte din setul de date. Aceste date sunt afisate in controlul master DataGridView. Cealalta sursa de legare este legata de primul conector de date. Proprietatea DataMember a celei de-a doua BindingSource este setata la numele DataRelation. Acest lucru face ca detaliile asociate controlului DataGridView sa afiseze randurile din tabelul Comenzi secundare care corespund randului curent din controlul master DataGridView.

Pentru o explicatie completa a acestui exemplu de cod, consultati Tutorial: Crearea unui formular Master / Detail folosind doua controale DataGridView din Windows Forms.

Exemplu

utilizarea sistemului; folosind System.Data; folosind System.Data.SqlClient; folosind System.Windows.Forms; clasa publica Form1: System.Windows.Forms.Form {private DataGridView masterDataGridView = new DataGridView (); private BindingSource masterBindingSource = new BindingSource (); private DataGridView detailsDataGridView = new DataGridView (); private BindingSource detailsBindingSource = new BindingSource (); [STAThreadAttribute ()] public static void Main () {Application.Run (nou Form1 ()); } // Initializeaza formularul. public Form1 () {masterDataGridView.Dock = DockStyle.Fill; detailsDataGridView.Dock = DockStyle.Fill; SplitContainer splitContainer1 = nou SplitContainer (); splitContainer1.Dock = DockStyle.Fill; splitContainer1.Orientation = Orientare.Orizontala; splitContainer1.Panel1.Controls.Add (masterDataGridView); splitContainer1.Panel2.Controls. Adaugati (detailsDataGridView); this.Controls.Add (splitContainer1); this.Load + = new System.EventHandler (Form1_Load); this.Text = “Demonstratie master / detaliu DataGridView”; } private void Form1_Load (expeditor obiect, System.EventArgs e) {// Legati comenzile DataGridView de componentele BindingSource // si incarcati datele din baza de date. masterDataGridView.DataSource = masterBindingSource; detailsDataGridView.DataSource = detailsBindingSource; Obtineti date(); // Redimensionati coloanele master DataGridView pentru a se potrivi cu datele nou incarcate. masterDataGridView.AutoResizeColumns (); // Configurati detaliile DataGridView astfel incat coloanele sale // sa isi ajusteze automat latimile atunci cand datele se modifica. detailsDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; } private void GetData () {try {// Specificati un sir de conexiune. Inlocuiti valoarea data cu un // sir de conexiune valid pentru o mostra de date Northwind SQL Server // accesibila sistemului dumneavoastra. String connectionString = “Securitate integrata = SSPI; Persista informatii de securitate = False;” + “Catalog initial = Northwind; Sursa datelor = localhost”; SqlConnection connection = new SqlConnection (connectionString); // Creati un set de date. DataSet data = new DataSet (); data.Locale = System.Globalization.CultureInfo.InvariantCulture; // Adaugati date din tabelul Clienti in setul de date. SqlDataAdapter masterDataAdapter = nou SqlDataAdapter (“selectati * din clienti”, conexiune); masterDataAdapter.Fill (date, „Clienti”); // Adaugati date din tabelul Comenzi in setul de date. SqlDataAdapter detailsDataAdapter = nou SqlDataAdapter (“selectati * din comenzi”, conexiune); detailsDataAdapter.Fill (date, “Comenzi”); // Stabiliti o relatie intre cele doua tabele. DataRelation relation = new DataRelation (“CustomersOrders”, data.Tables [“Customers”]. Coloane [“CustomerID”], data.Tables [“Orders”]. Coloane [“CustomerID”]); data.Relations.Add (relatie); // Legati conectorul de date master de tabelul Clienti. masterBindingSource.DataSource = date; masterBindingSource.DataMember = “Clienti”; // Legati conectorul de date cu detalii la conectorul de date master, // utilizand numele DataRelation pentru a filtra informatiile din // tabelul de detalii pe baza randului curent din tabelul master. detailsBindingSource.DataSource = masterBindingSource; detailsBindingSource.DataMember = “CustomersOrders”; } catch (SqlException) {MessageBox.Show (“Pentru a rula acest exemplu, Panel1.Controls.Add (masterDataGridView) splitContainer1.Panel2.Controls.Add (detailsDataGridView) Me.Controls.Add (splitContainer1) Me.Text = “DataGridView master / detail demo” End Sub Private Sub Form1_Load (ByVal sender As Object, ByVal As System.EventArgs) _ Handles Me.Load ‘Bind the DataGridView controls to the BindingSource’ components and load the data from the database. masterDataGridView.DataSource = masterBindingSource detailsDataGridView.DataSource = detailsBindingSource GetData () ‘Redimensioneaza coloanele master DataGridView pentru a se potrivi cu datele nou incarcate. masterDataGridView.AutoResizeColumns () ‘Configurati detaliile DataGridView astfel incat coloanele sale’ sa isi ajusteze automat latimile atunci cand datele se modifica. detailsDataGridView.AutoSizeColumnsMode = _ DataGridViewAutoSizeColumnsMode. AllCells End Sub Private Sub GetData () Incercati „Specificati un sir de conexiune. Inlocuiti valoarea data cu un sir de conexiune valid pentru o baza de date esantion Northwind SQL Server accesibila sistemului dumneavoastra. Dim connectionString As String = _ “Integrated Security = SSPI; Persist Security Info = False;” & _ “Catalog initial = Northwind; Sursa date = localhost” Dim conexiune Ca SqlConnection nou (connectionString) ‘Creati un set de date. Dim data As New DataSet () data.Locale = System.Globalization.CultureInfo.InvariantCulture ‘Adaugati date din tabelul Clienti in DataSet. Dim masterDataAdapter Ca _ SqlDataAdapter nou („selectati * din clienti”, conexiune) masterDataAdapter.Fill (date, „Clienti”) ‘Adaugati date din tabelul Comenzi in setul de date. Dim detailsDataAdapter Ca _ SqlDataAdapter nou („selectati * din comenzi”, conexiune) detailsDataAdapter.Fill (date, „comenzi”) ‘Stabiliti o relatie intre cele doua tabele. Reduceti relatia ca noua relatie de date („CustomersOrders”, _ data.Tables („Customers”). Coloane („CustomerID”), _ data.Tables („Orders”). Coloane („CustomerID”)) data.Relations.Add ( relatie) ‘Legati conectorul de date master de tabelul Clienti. masterBindingSource.DataSource = date masterBindingSource.DataMember = “Clienti” ‘Legati conectorul de date cu detalii la conectorul de date master,’ folosind numele DataRelation pentru a filtra informatiile din tabelul ‘detalii pe baza randului curent din tabelul principal. detailsBindingSource.DataSource = masterBindingSource detailsBindingSource.

Compilarea codului

Acest exemplu necesita:

Referinte la ansamblurile System, System.Data, System.Windows.Forms si System.XML.

Securitate .NET Framework

Stocarea informatiilor sensibile, cum ar fi o parola, in sirul de conexiune poate afecta securitatea aplicatiei dvs. Utilizarea autentificarii Windows (cunoscuta si sub numele de securitate integrata) este un mod mai sigur de a controla accesul la o baza de date. Pentru mai multe informatii, consultati Protejarea informatiilor de conexiune.

Vezi si

  • DataGridView
  • BindingSource
  • Ghid pasiv: Crearea unui formular Master / Detail folosind doua controale DataGridView din Windows Forms
  • Afisarea datelor in controlul Windows Forms DataGridView
  • Protejarea informatiilor despre conexiune

malena la pugliese orgia squirting shower
video porno segretaria squirting torino
la maestra analfabeta prende in culo la cometa streaming squirtingxxx
ti sborro nel culo star xxx
roberta gemma vporn stasy riviera
lady blue hard stecco ducale centoxcento
glu porn stella cox anal
cento x cento net stella rubino porn
video porno addio celibato stella rubino porno
porn movie streaming stella rubino pornostar
porn video malena stella rubino video porno
mishelle morau steve holmes porn
cento cento porno steve holmes porno
valentina nappi succhia steve holmes videos
porno cazzi duri stream porn movie
porno casting all italiana stream xxx cento x cento
video hard martina smeraldi stream xxx centoxcento
cherry kiss porn streamcloud porno
lady blue pornostar streamig porn
malena porno video streaming 100×100