.NET Framework - Linq an Datasource mit großer Datenmenge binden
Asked By Alex Starke
30-Jun-08 03:09 PM
Hallo zusammen,
ich habe das Problem, das ich eine Tabelle mit sehr vielen Einträgen (ca.
70.000)
an eine Linq-Datasource binden will. Das funktioniert auch prima, dauert nur
ewig !!! Damit meine ich so ca. 60 Sekunden beim Programmstart. Unzumutbar.
Dargestellt werden die Daten dann in einer einer Detail-Ansicht zum
Editieren, also
immer nur ein Datensatz.
Jetzt könnte man natürlich nur gezielt einen Datensatz laden, aber dann habe
ich nicht
die Chance über den Navigator den nächsten/vorgerigen etc. automatisch
Datensatz
anzuzeigen, da in der Datasource dann nur ein Datensatz ist.
Hat jemand dafür eine Lösung ?
Viele Grüße
Alex
Databindings
(1)
Newsbeitrag
(1)
Dargestellt
(1)
Datenmenge
(1)
Comboboxen
(1)
Datasource
(1)
Datensatz
(1)
Editieren
(1)
Alex Starke replied...
Hallo Frank,
erstmal : Deine Seiten sind immer wieder eine wertvolle Quelle !!!
Aber mein Problem ist etwas anders. Die Daten werden in Textboxen,
Comboboxen etc. jeweils über die Databindings dargestellt.
Eine Möglichkeit mein Problem (nächster Satz/vorheriger Satz) zu lösen
wäre auf z.B. auf den letzten Satz zu positionieren und dann wenn
z.B. vorheriger geklickt wurde, nach der nächste kleineren ID über
eine Abfrage zu Suchen und dann diesen Satz darzustellen.
Nur hatte ich gehofft, das es eine elegantere Möglichkeit gibt.
Gruss
Alex

Ayuda ABM con .DataBindings .NET Framework Hola, estoy atascado en formulario de Altas, Modificaciones, Bajas de clientes no se como recorrer el .DataBindings avanzar, retroceder, eliminar, añadir. . . vengo de FOX y deseo hacerlo por codigo no por assistente SqlDataAdapter da = new SqlDataAdapter(sSel, sCnn); DataTable dt = new DataTable(); da.Fill(dt); this.txtCodigo.DataBindings.Clear(); this.txtNombre.DataBindings.Clear(); this.txtCodigo.DataBindings.Add("Text", dt, "codigo"); this.txtNombre.DataBindings.Add("Text", dt, "nombre"); / / Asigno DataBinding this.dbnavclientes.BindingSource = new BindingSource(dt); this.Text = string dataset o datable deberias primer asignarlo a un BindingSource y luego este usarlo en los DataBindings de los textbox asi al presiona siguiente puede usar el metodo MoveNext() del BindingSource, como SqlDataAdapter(sSel, sCnn); DataTable dt = new DataTable(); da.Fill(dt); BindingSource1.DataSource = dt; this.txtCodigo.DataBindings.Clear(); this.txtNombre.DataBindings.Clear(); this.txtCodigo.DataBindings.Add("Text", BindingSource1, "codigo"); this.txtNombre.DataBindings
this code see below and as you can see I just changed this row textBox.DataBindings.Add("Text", thisPlayer, "Name"); to this row textBox.DataBindings.Add("Text", thisPlayer, "Name", true, DataSourceUpdateMode.OnPropertyChanged); So here I enter a name in a thisPlayer = players[e.RowIndex]; foreach (TextBox tb in textBoxes) { if (tb.Text = = thisPlayer.Name) { tb.DataBindings.Remove(tb.DataBindings["Text"]); textBox = tb; break; } } textBox.DataBindings.Add("Text", thisPlayer, "Name", true, DataSourceUpdateMode.OnPropertyChanged); } / / This code is for the project where two Players[e.RowIndex]; foreach (PlayerGUI pGUI in gameManager.PlayerGUIs) { if (pGUI.Namn = = thisPlayer.Name) { pGUI.DataBindings.Remove(pGUI.DataBindings["Namn"]); pg = pGUI; if (string.Equals(thisPlayer.Name, Croupier, StringComparison.CurrentCultureIgnoreCase)) BtnStartGame.Enabled = true; break; } } if (gameManager.Players.Count < = gameManager.PlayerGUIs.Count) pg.DataBindings.Add("Namn", thisPlayer, "Name", true, DataSourceUpdateMode.OnPropertyChanged); } } / / Tony C# Discussions ISupportInitialize (1) OnPropertyChanged (1) StringComparison
cb.QuotePrefix = "[" cb.QuoteSuffix = "]" conn.Open() da.Fill(dt) conn.Close() 'Steuerelemente mit Daten verbinden '. . . . Databindings.Add("Datentyp", DataTable, "Datenfeld") Me.ComboBox1.DataBindings.Add("Text", dt, "Anrede") Me.TextBox1.DataBindings.Add("Text", dt, "NName") Me.TextBox2.DataBindings.Add("Text", dt, "VName") Me.TextBox3.DataBindings.Add("Text", dt, "Straße") Me.TextBox4 DataBindings.Add("Text", dt, "Plz") Me.TextBox5.DataBindings.Add("Text", dt, "Ort") Me.RichTextBox1.DataBindings.Add("Text", dt, "Bwmerkung") bm = Me.BindingContext(dt) Me.ComboBox1.Select() Dim i As Integer
Control, ByVal prop As String, ByVal BindingSource As BindingSource, ByVal dataMember As String) If c.DataBindings(prop) IsNot Nothing Then c.DataBindings.Remove(c.DataBindings(prop)) c.DataBindings.Add(prop, BindingSource.DataSource, dataMember) End Sub Private Sub chkWeek1Month1AtLeaving_CheckedChanged(ByVal sender As Object, ByVal String, ByVal BindingSource As BindingSource, ByVal dataMember As String) ' TODO SLAP IN BASE If c.DataBindings(prop) IsNot Nothing Then c.DataBindings.Remove(c.DataBindings(prop)) Dim b As Binding = New Binding(prop, BindingSource.DataSource, dataMember) b.DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged c.DataBindings.Add(b) End Sub keywords: Binding, and, lostfocus description: I am using .NET Framework v2
QuotePrefix = "["; cb.QuoteSuffix = "]"; conn.Open(); da.Fill(dt); conn.Close(); bs.DataSource = dt; this.KdID.DataBindings.Add("Text", bs, "KdID"); this.Anrede.DataBindings.Add("Text", bs, "Anrede"); this.VName.DataBindings.Add("Text", bs, "VName"); this.NName.DataBindings.Add("Text", bs, "NName"); this.Straße.DataBindings.Add("Text", bs, "Straße"); this.Plz DataBindings.Add("Text", bs, "Plz"); this.Ort.DataBindings.Add("Text", bs, "Ort"); } private void sFschießen_Click(object sender, EventArgs e) { this.Close(); } private void