Laden...

Forenbeiträge von t0ms3n Ingesamt 314 Beiträge

01.04.2015 - 16:02 Uhr

Stichwort ist hier z.B. Placeholder

01.04.2015 - 10:18 Uhr

Dann mach halt eine Abfrage inkl. JOIN und lies die Daten so aus, dass sie in deine gewünschte Struktur passen.

01.04.2015 - 09:18 Uhr

Wenn die Daten die du aus der EAN Tabelle abfragst nicht unterscheiden, kannst Du ein DISTINCT verwenden.

27.03.2015 - 11:06 Uhr

Von welcher Technologie sprechen wir denn hier?

Ist es dir davon ab ggf. nicht einfacher möglich indem du die Daten abrufst, in einer entsprechenden Liste aufbereitest und diese dem Grid zur Verfügung stellt. Dann brauchst Du auch nicht direkt mit dem Grid arbeitetn sondern kannst die Operationen auf der Liste durchführen.

23.03.2015 - 13:13 Uhr

Sowas kannst Du z.B. über einen Converter lösen.

23.03.2015 - 13:12 Uhr

Nun wie bereits erwähnt kennt keiner deine Fähigkeiten. Sprich ggf. kannst (solltest 😃) Du einen entsprechenden Stundensatz nicht verlangen.

Nach den Punkten die Du aufgelistet hast würde ich vermuten, dass der Stundensatz nicht zum geschätzen Aufwand passt.

23.03.2015 - 12:39 Uhr

Wie soll das jemand beurteilen können, der nur Schnipsel der Anforderung kennt.

denn wie wir alle wissen steckt der Teufel immer im Detail.

22.03.2015 - 17:14 Uhr

Wie Du vermutlich auch gesehen hast, steht in den Antworten jedoch das gleiche.

Das Binding schließt im übrigen nicht aus, dass die Controls unterschiedlich aussehen.

21.03.2015 - 12:07 Uhr

Hi,

dein Control erhält das entsprechende Item in der Liste als DataContext. Deine Liste sollte also nicht die UserControls dafür enthalten, sondern den nötigen DataContext bzw. das ViewModel.

Falls das Fragen aufwirfst, such hier im Forum z.B. mal nach MVVM.

Gruß
t0ms3n

19.03.2015 - 12:39 Uhr

Das Element heißt "Orders" und nicht "Order".

Orders hat dann Elemente vom Typ "Order".

19.03.2015 - 12:22 Uhr

Was sagt denn der Debugger?

19.03.2015 - 09:02 Uhr

Hmmm Du kannst dir statt zu warten einfach, nach erfolgreicher Eingabe eines Zeichens, in einen Zustand wechseln, wo du eben keine Eingabe annimmst. (oder nur das letzte Zeichen nicht erneut annimmst)

Was machst Du denn wenn der Nutzer tatsächlich so schnell tippt? 300ms klingt erstmal sehr lange ^^.

Vielleicht ist es aber sinnvoller zu prüfen, ob die Taste wieder losgelassen wurde statt den User irgendwie versuchen einzuschränken.

17.03.2015 - 16:52 Uhr

Was mich noch einfällt.... Kein Buch und nicht direkt C# aber ggf. auch hilfreich -> die Microsoft Virutal Academy

Einfach mal stöbern ... z.B. http://www.microsoftvirtualacademy.com/training-courses/developing-2d-3d-games-with-unity-for-windows-jump-start

Über die Qualität der Unitybeiträge dort kann ich nichts sagen.

17.03.2015 - 16:30 Uhr

Na dann mal herzlich Willkommen 😃.

Hmmm ich bin mir nun nicht sicher inwieweit die Unity Dokumenation darauf eingeht, aber ich meine die haben doch dort sogar einen eigenen Bereich für.

Scripting Tutorials
Scripting Doku

Was natürlich nicht heißt, dass nicht auch ein "normales" C# Buch hilft. Dazu reicht für den Einstieg sicher eines der verlinkten im Hauptmenü z.B. http://openbook.galileocomputing.de/visual_csharp_2012/.

Persönlich finde ich allerdings nicht, dass Unity ein guter Einstieg ist um auch noch C# selbst zu lernen, da einfach doch Unity alleine schon naja Anfangs "verwirrend" ist 😃.

15.03.2015 - 13:30 Uhr

Sicher, einfach das ItemTemplate entsprechend setzen.

13.03.2015 - 19:59 Uhr

Du musst den Spieß umdrehen. Die Validierung im Hintergrund ausführen und solange diese dauert deinen WaitDialog anzeigen. Dann erledigt sich der Rest von alleine.

10.03.2015 - 15:39 Uhr

Bedenke dass es dem User bei beiden Lösungen möglich ist sich auch ohne deine Anwendung auf die Datenbank zu verbinden.

10.03.2015 - 15:06 Uhr

Von welchem Server sprichst Du denn? Vom SQL-Server oder gibt es noch einen weiteren?

Wie gesagt wenn die Umgebung es zulässt, würde ich es wie folgt aufbauen:

  • Datenbank hat ActiveDirectoryGruppe als User z.B. [App_Users]
    Diese würde ich bei der initialen Anlage der Datenbank entsprechend mit anlegen.
  • Der Admin hat im AD die Berechtigung um Member der Gruppe zu managen
    Folglich kapselt deine Anwendung nur das Management der Gruppe im AD. Sprich der Admin wählt eben aus deiner Liste Nutzer aus und fügt sie der Gruppe hinzu (oder löscht etc.).

Die Zugriffserlaubnis auf die Datenbank wird an der Stelle automatisch über die Gruppe gesteuert.


Wenn Du jedoch tatsächlich die Nutzer anlegen willst, weil alle Nutzer zusätzlich noch unterschiedlich Berechtigungen haben sollen oder eben eine Lösung über eine Gruppe nicht in Frage kommt, dann funktioniert dies ganz normal über entsprechende SQLCommands. Das zum Anlegen hast Du ja bereits genannt.

10.03.2015 - 13:57 Uhr

Ich nehme mal an Windows-Authentication Users bedeutet dass ihr Active Directory einsetzt?

Für die Liste der User musst Du also entsprechend das Active Directory abfragen.

Ich selbst würde mir (sofern möglich) aber gar nicht den Streß machen und die User auf dem Server verwalten, sondern auf der Datenbank eben direkt eine AD-Gruppe entsprechend berechtigen und dann nur noch die User entsprechend in der Gruppe im AD verwalten.

Oder ist das keine Option?

05.03.2015 - 14:51 Uhr

Was hat denn die Anzahl der Kameras damit zu tun?
Gefühlt hast Du eher ein Konzeptproblem.

05.03.2015 - 09:26 Uhr

Ich bin mir immer noch nicht ganz sicher was die Ausgangslage (datenmäßig ist).

Du bindest an eine Collection von MatchingValues. Was ist der Typ dahinter?
Bestitzt der Type denn die ganzen einzelnen Eigenschaften? Dann kannst Du ja einfach entsprechend den Textblock auf das gewünschte Binden.

Alternativ könntest Du auch einen Converter nutzen!?

Gruß
t0ms3n

04.03.2015 - 17:33 Uhr

Dann bleibt dir vermutlich nichts anderes übrig, als das ItemTemplate entsprechend anzupassen.

03.03.2015 - 16:27 Uhr

Nun, dann musst Du eben deine XML Typen auf die entsprechendn Controltypen mappen, diese mit den definierten Eigenschaften erzeugen und in gewünschten Container einfügen.

03.03.2015 - 13:06 Uhr

Falls Du .NET 4.5 einsetzt, kannst Du auch ein Delay im Binding angeben.

Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Delay=200}"

Für 4.0 könntest Du noch versuchenDelay property on Binding from .Net 4.5 in .Net 4.0

02.03.2015 - 16:22 Uhr

Wann knallts denn? Vermutlich wenn du den User abrufst.

CN=Müller, Hans 

kann auch nicht richtig sein.

25.02.2015 - 15:39 Uhr

Warum machst Du dann nicht einfach ein Group By über alle 3 Spalten mit nem Having Count(*) > 0?

Unabhängig davon kannst Du es wie schon gesagt auch der Datenbank überlassen. Entweder über einen entsprechenden PK (den du jedoch ja schon hast).

Zumindstens bei MSSQL kannst Du aber auch einen Unqiue Index definieren, der dann auch entsprechend zum Fehler führt, wenn Du versucht eine gleiche Kombination einzufügen.

20.02.2015 - 11:50 Uhr

Hmmm XamarinStudio !?

19.02.2015 - 08:48 Uhr

AddYears(-1).AddDays(-1) ?

18.02.2015 - 17:00 Uhr

Du kannst den Templatecache explizit leeren/ändern.

Hast Du es alternativ mal mit QueryParametern an der templateUrl probiert?

siehe http://www.stackoverflow.com/questions/13450926/force-reload-of-a-directives-template

Letzteres hat den Vorteil, dass es eben nicht immer passiert, allerdings hilft es dir nicht wenn die JS mit der URL ausm Cache kommt 😃.

18.02.2015 - 14:40 Uhr

Und dann hätte man das erreicht was man z.B. gefrickel nennt 😉

' ist halt erlaubtes Zeichen, welches auch sauber behandelt wird. Aber wenn Du dir lieber Steine in den Weg legen willst, tue da das.

Es hat niemand etwas dagegen gesagt, dass eine Validierung des Inputs unnötig ist. Allerdings eben erstmal nur den Typ und nicht den Wert.

18.02.2015 - 09:10 Uhr

Also ich verstehe deine Frage nicht.

Hast Du ein Statement mit Parametern und willst nicht alle davon nutzen?

28.01.2015 - 21:00 Uhr

Die Frage hast Du dir ja schon indirekt selbst beantwortet. Da du kein Klick mehr auslöst musst Du eben ein anderes Event suche z.B. MouseMove oder MouseEnter... Musst in dem moment dann natürlich feststellen, ob derzeit geklickt wird oder nicht.

Speicher.... Was willst Du denn speichern? Das tatsächliche Bild oder die nötigen Daten zur Erzeugung des "Bildes"

24.01.2015 - 22:33 Uhr

Nutz nen einfachen Split auf & für die einzelnen Paaren und eben = für Key/Value.

13.01.2015 - 19:39 Uhr

Hi,

in table2 kommt jede Id offensichtlich 0-n mal vor.

Der Titel ist im übrigend denkbar schlecht gewählt. LEFT OUTER JOIN funktioniert ganz sicher so wie er soll 😃.

10.12.2014 - 16:17 Uhr

Und die Reihenfolge im Array ist unterschiedlich?
Falls ja, die Inputs selbst kannst Du nicht verändern, sodass Du sie sauber identifizieren kannst?

10.12.2014 - 15:39 Uhr

Hi,

naja offensichtlich bekommst Du ja ein Array von Elementen. Ist hier die Reihenfolge immer gleich?

Dann ist an einem entsprechend anderen Index z.B. 0 auch ein anderes Element.
Sind die beiden Inputs komplett identisch? Also auch Value etc.? Ansonsten kannst Du natürlich auch einfach über das Array iterrieren und abhängig von den Werten (z.B. value) das gewünschte wählen.

10.12.2014 - 11:24 Uhr

Wenn Du den Wert doch bereits kennst und mit Ctrl + V einfügst. Dann kennst Du doch den Wert bzw. er ist bereits in der Zwischenablage !?

09.12.2014 - 12:30 Uhr

Wieso kannst Du den Timeout nicht ändern, hat

request.Timeout = 3000;

keinen Effekt? Was sagt die Exception nach 60 Sekunden?

09.12.2014 - 12:24 Uhr

Ich bin mir nicht ganz sicher wie es bei Caliburn läuft, es gibt ja wenn ich mich recht entsinne keine Command sondern nur Methoden und Properties die über die NamingConventions zugeordnet werden oder?

Ich bin mir daher an der Stelle nicht sicher wie es im Zusammenhang mit dem DataContext aussieht. Hast Du es mal mit einem "normalen" Command probiert und über z.B. die RelativeSoruce den entsprechenden DataContext gesetzt.
Irgendwelche Binding-Fehler im Debugger zu sehen?

Gruß
t0ms3n

09.12.2014 - 12:17 Uhr

Hmmm mir ist nicht klar, wie Code hier an der Stelle hätte helfen können.

Ich habe es nun (fürs erste) mit einer ValidationRule umgesetzt.
Dazu habe ich nun auch eine BindingGroup im VM, um entsprechend festzustellen, ob Fehler vorhanden sind. Zusätzlich noch ein Command um Änderungen mitzubekommen.
Richtig zufrieden bin ich damit jedoch nicht.

Das XAML sieht so (reduziert) aus:


<ListView x:Name="itemListView" Margin="10 4 5 4" ItemsSource="{Binding ChildItems}" HorizontalContentAlignment="Stretch" 
			SelectedItem="{Binding SelectedItem}"  BindingGroup="{Binding ItemValidationGroup}">                                                       
	<ListView.View>
		<GridView>
			<GridViewColumn Width="200" DisplayMemberBinding="{Binding Item.Name}" Header="Name" />
			<GridViewColumn Width="100" Header="State">
				<GridViewColumn.CellTemplate>
					<DataTemplate>
						<Grid >
							<ContentPresenter Content="{Binding}">
								<ContentPresenter.Style>
									<Style TargetType="{x:Type ContentPresenter}">
										<Style.Triggers>
											<DataTrigger Binding="{Binding DataContext.IsItemEditable, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" Value="False">
												<Setter Property="ContentTemplate">
													<Setter.Value>
														<DataTemplate>
															<TextBlock Text="{Binding Item.State.Name}" />
														</DataTemplate>
													</Setter.Value>
												</Setter>
											</DataTrigger>
											<MultiDataTrigger>
												<MultiDataTrigger.Conditions>
													<Condition Binding="{Binding DataContext.IsItemEditable,  ElementName=itemListView}" Value="True" />
													<Condition Binding="{Binding EntityState}" Value="Unchanged" />
												</MultiDataTrigger.Conditions>
												<Setter Property="ContentTemplate">
													<Setter.Value>
														<DataTemplate>
															<ComboBox Validation.ErrorTemplate="{StaticResource simpleErrorTemplate}" 
																	   ItemsSource="{Binding DataContext.ItemStates, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
																	  >
																<i:Interaction.Triggers>
																	<i:EventTrigger EventName="SelectionChanged">
																		<catel:EventToCommand Command="{Binding DataContext.ItemStateChangedCommand, ElementName=itemListView}" PassEventArgsToCommand="False" DisableAssociatedObjectOnCannotExecute="False" />
																	</i:EventTrigger>
																</i:Interaction.Triggers>
																<ComboBox.SelectedItem>
																	<Binding BindingGroupName="ItemValidationGroup" Path="Item.State" Mode="TwoWay" UpdateSourceTrigger="PropertyChanged">
																		<Binding.ValidationRules>
																			<DataErrorValidationRule />
																			<vr:ItemStateValidationRule ValidationStep="UpdatedValue"  ValidatesOnTargetUpdated="True">
																			</vr:ItemStateValidationRule>
																		</Binding.ValidationRules>
																	</Binding>
																</ComboBox.SelectedItem>
															</ComboBox>
														</DataTemplate>
													</Setter.Value>
												</Setter>
											</MultiDataTrigger>
										</Style.Triggers>
									</Style>
								</ContentPresenter.Style>
							</ContentPresenter>
						</Grid>
					</DataTemplate>
				</GridViewColumn.CellTemplate>
			</GridViewColumn>
		</GridView>
	</ListView.View>
</ListView>
08.12.2014 - 13:02 Uhr

Wie lässt sich 1-4 sinnvoll mit dem ErrorTemplate verbinden bzw. einem IsValid?

Manchmal ist es aber viel einfacher wenn du dem Child sein Parent bekannt machst, dort eine Eigenschaft/Methode dran hängst um die rechtlichen Childs zu prüfen und dann in Abhängigkeit des Rückgabewertes deine Statusänderungen vorzunehmen (parent.GetStateofChildsExcept(this) : status)...irgendwas in der Art. Ist zwar nicht die sauberste Lösung, aber die am wenig aufwändigsten. Architektur ist immer ein Balanceakt zwischen Pragmatismus und "Schönheit".

Schon, allerdings gefallen mir z.B. Motoren die den Status 'Kaputt' haben und der Status 'Kaputt' den Motor kennt überhaupt nicht 😦.

Kleine Nebenfrage :Wieso eigentlich "natürlich dataerrorinfo" ? Ich verwende die Dinger so gut wie nie, irgendwie fehlt mir meist der praktische Nutzen davon, der Aufwand ist weitaus größer, als eine ValidationRule zu verwenden

Mit dem natürlich wollte ich vorbeugen Hinweise auf nutze dies zu bekommen.
Über ValidationRules habe ich auch schon nachgedacht, allerdings habe ich hier nur über "Umwege" die Möglichkeit Commands zu beeinflussen.

08.12.2014 - 12:11 Uhr

Nein habe ich für die Childs nicht.

Ich möchte nun vermeiden, dass ich an dieser Stelle einen Service aus dem Model heraus aufrufen muss.

Welche Möglichkeiten habe ich noch, außer nicht direkt die Models als ChildItems zu haben sondern diese vorher noch in ViewModels zu wandeln (nur um den ViewModel willen 😃)?

08.12.2014 - 11:34 Uhr

Das Child kennt seinen Parent nicht. Das Problem wäre auch dann nicht vorhanden, wenn IDataErrorInfo "Item.Value" unterstützen würde.

Für einfache "Item.Value" Bindings kann man sich helfen, indem das VM eine eigene Property anbietet "ItemValue" und diese auf die Value vom Item zeigt.

Was aber wenn es eben eine Collection ist? (Abgesehen von den zwei genannten Möglichkeiten)

Es hat auch nichts mit dem INotify zu tun, denn eine einfache Validierung würde natürlich funktionieren, allerdings möchte ich einerseits keine Servicecalls im Model haben und das Model (der Status) kennt eben seinen Parent nicht.

08.12.2014 - 10:59 Uhr

Ja das soll das Ziel sein, allerdings soll natürlich über das ErrorTemplate im entsprechenden Control direkt der Fehler angezeigt werden.

08.12.2014 - 10:23 Uhr

Hallo zusammen,

ich bin auf der Suche nach einem Denkanstoß im Bereich Validierung. Selbsverständlich nutze ich bereits IDataErrorInfo.

Ich setze derzeit auf eine Kombination aus Validierung im Model und im ViewModel. Das Model übernimmt dabei einfachste Validierungen wie "Not Empty" und das ViewModel alles weitere, wo z.B. ein Service genutzt werden muss.

Ich habe nun allerdings folgende Situation.

Ich habe ein Item. Dieses besitzt diverse ChildItems welche einen Status haben. Dabei kann der Status der einzelnen Items innerhalb einer ListView geändert werden.
Zusätzlich besitzt jedes ChildItem nochmal eine Liste von Items welche auch einen Status haben.
Es muss nun beim Ändern eines Statuses geprüft werden ob alle ChildItems des ChildItems in einem bestimmten mindest Status sind.

Ich möchte nun vermeiden, dass ich an dieser Stelle einen Service aus dem Model heraus aufrufen muss.

Welche Möglichkeiten habe ich noch, außer nicht direkt die Models als ChildItems zu haben sondern diese vorher noch in ViewModels zu wandeln (nur um den ViewModel willen 😃)?

Gruß
t0ms3n

05.12.2014 - 14:31 Uhr

Ich hoffe es sind Schleifen und keine Schlaufen gewesen 😉

Events und Delegates sind sicherlich sinnvoll. Ansonsten gehört sicher noch Datenbankzugriff und Dateiverarbeitung noch zu den Dingen die man immer wieder benötigt.