AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke SqlDataSource - Selects definieren

SqlDataSource - Selects definieren

Ein Thema von stahli · begonnen am 1. Mai 2009 · letzter Beitrag vom 10. Mai 2009
 
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SqlDataSource - Selects definieren

  Alt 2. Mai 2009, 11:40
Hallo,

ich habe es jetzt so gelöst, dass ich die Abfrageergebnisse sequenziell in Labels.Text ablege.
In meinem Fall ist es ohnehin sinnvoll, die "ausgewählten Daten" im Webform anzuzeigen.
Weiterhin habe ich die Teile der WebSite in Panels abgelegt, die ich einfach ein- und ausblende. Ist das zu umständlich oder ein korrekter Weg?

Es scheint mir zumindest inzwischen ein üblicher und korrekter Weg zu sein, Zwischeninformationen in sichtbaren oder versteckten Textobjekten zu speichern, damit die Daten bei der nächsten "Rundreise" (also dem nächsten Seitenaufruf) noch zur Verfügung stehen. (Daneben gäbe es noch die Möglichkeit, Daten in einer Session oder Applikation zu speichern.)

Also sollte meine Lösung soweit korrekt sein.

Nun möchte ich jedoch die Anzahl der Datensätze einer SqlDataSource abfragen. Ich finde jedoch nur die Möglichkeit, die Anzahl der Zeilen eines GridViews zu ermitteln. Allerdings setze ich eine ListBox ein, die offenbar nicht die Anzahl der Records der verbunden SqlDataSource zurück gibt:

Delphi-Quellcode:
namespace;

interface

uses
  System,
  System.Data,
  System.Configuration,
  System.Web,
  System.Web.Security,
  System.Web.UI,
  System.Web.UI.WebControls,
  System.Web.UI.WebControls.WebParts,
  System.Web.UI.HtmlControls;

type
  _Default = public partial class(System.Web.UI.Page)
  protected
    method SqlDataSourceCity_Selecting(sender: System.Object; e: System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs);
    method ListBoxUser_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
    method ListBoxHouse_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
    method ListBoxStreet_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
    method ListBoxCity_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
    method TextBoxPlz_TextChanged(sender: System.Object; e: System.EventArgs);
    method Page_Load(sender: Object; e: EventArgs);
    method DefineData;
  end;

implementation

method _Default.DefineData;
var
  NotFound: Boolean;
begin
  NotFound := False;
  PanelPlz.Visible := LabelPlz.Text <> '';
  PanelCity.Visible := LabelCity.Text <> '';
  PanelCitySelect.Visible := (LabelCity.Text = '') and (LabelPlz.Text <> '') and (not NotFound);
  PanelStreet.Visible := LabelStreet.Text <> '';
  PanelStreetSelect.Visible := (LabelStreet.Text = '') and (LabelCity.Text <> '') and (not NotFound);
  PanelHouse.Visible := LabelHouse.Text <> '';
  PanelHouseSelect.Visible := (LabelHouse.Text = '') and (LabelStreet.Text <> '') and (not NotFound);
  PanelUser.Visible := LabelUser.Text <> '';
  PanelUserSelect.Visible := (LabelUser.Text = '') and (LabelHouse.Text <> '') and (not NotFound);
end;

method _Default.Page_Load(sender: Object; e: EventArgs);
begin
  if LabelPlz.Text = 'then
    DefineData;
end;

method _Default.TextBoxPlz_TextChanged(sender: System.Object; e: System.EventArgs);
begin
  LabelPlz.Text := TextBoxPlz.Text;
  LabelCity.Text := '';
  LabelStreet.Text := '';
  LabelHouse.Text := '';
  LabelUser.Text := '';
  DefineData;
end;

method _Default.ListBoxCity_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
  LabelCity.Text := ListBoxCity.SelectedValue;
  DefineData;
end;

method _Default.ListBoxStreet_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
  LabelStreet.Text := ListBoxStreet.SelectedValue;
  DefineData;
end;

method _Default.ListBoxHouse_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
  LabelHouse.Text := ListBoxHouse.SelectedValue;
  DefineData;
end;

method _Default.ListBoxUser_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
  LabelUser.Text := ListBoxUser.SelectedValue;
  DefineData;
end;

method _Default.SqlDataSourceCity_Selecting(sender: System.Object; e: System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs);
begin
  PanelNotFound.Visible := ListBoxCity.Rows = 0; // ???????????????????????????????????
  PanelNotFound.Visible := SqlDataSourceCity.Records = 0; // ???????????????????????????????????
  DefineData;
end;

end.

Also in der letzten Ereignisbehandlung möchte ich die Anzahl der gefundenen Datensätze ermitteln und davon abhängig die Abschnitte der Seite (Panels) ein- und ausschalten.
Anbei auch ein kleines Bild der "WebSite".


Wo finde ich denn eine Übersicht über die alle Attribute der Net.-Controls?


stahli
Angehängte Grafiken
Dateityp: jpg sqldatasourcecount_276.jpg (29,2 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz