ích habe es jetzt folgender maßen gelöst:
(fltrCrit01 ist eine Eigenschaft die mittels Bindings an eine TextBox der View gebunden ist (Namen wurden hier angepasst ^^))
private void Filter()
{
var query = from tmp in MyList select tmp;
if ( !string.IsNullOrEmpty( fltrCrit01 ) )
{
query = query.Where( c => c.MyField != null && c.MyField.ToLower().Contains( fltrCrit01.ToLower() ) );
}
}
danach wird mittels einer foreach schleife die Auflistung in eine ObservableCollection übertragen.
Das ganze ist alles andere als Dynamisch. Ich habe mich zwar mittels google etwas schlau gemacht aber verstanden habe ich nicht viel -.-
hier mal so ein beispiel
Building LINQ Queries at Runtime in C#
hat jemand vllt etwas verständlicheres? link würde reichen
und die PagedCollectioNView eignet sich nicht zum Filtern so viel steht fest
EDIT:
Fehler im Code korrigiert
danke für die Antwort.
ok das mit LINQ leuchtet mir ein. ich werde es mal versuchen.
Bei fragen melde ich mich nochmal
Hallo zusammen,
ich hatte schon folgendes versucht um nach mehr Filterkriterien anzuwenden:
MyPagedCollectionView.Filter += ( o ) =>
{
if ( MyID != (int)MyEnum.None )
{
return ( ( (MyDBTableType)o ).FlagID == MyID );
}
else { return true; }
};
jedoch wird der aktuelle Filter vom neuen überschrieben.
wie schaffe ich es jetzt nach mehreren Kriterien zu Filtern?
hast du schon mal PartiotionMagic probiert?
du könntest dir auch eine StartCD (UBCD) erstellen auf dem so ein partitionierungstool
dabei ist und es damit mal versuchen. aber warum sollen nur 4 möglich sein? wie groß
ist denn deine HDD?
also wenn es freeware sein soll, dann ist die erste Anlaufstelle SourceForge.net ^^
Ich kann dir NClass auch sehr empfehlen.
*hmpf* ich war nah dran...
Danke an alle!
hmm kann sein dass ich mich etwas ungenau ausgedrückt habe. Sry dafür.
ich habe im Webservice eine Klasse die nur dazu dient Emails zu versenden.
Dieses Versenden geschieht ohne dass der User direkten einfluss darauf hat.
Wenn der User jetzt (nur als bsp) einen Eintrag in die Datenbank hinzufügt
so sollen einige andere User benachrichtigt werden. Damit man nach diesem
Eintrag nicht lange suchen muss hatte ich vor in die Email einen Link mitzusenden
auf den man einfach klicken kann und der User dann auch nur diesen Eintrag sieht.
das funktioniert soweit schon alles jedoch muss ich noch den link zu diesem Eintrag
generieren und ich will das so dynamisch wie möglich halten.
Darum die frage: Wie kann ich die Domain des Webservices innerhalb des Webservices herausfinden?
Hallo zusammen,
in silverlight ist es mittels HtmlPage.Document möglich die Hosting Page URL zu ermitteln.
HtmlPage.Document.DocumentUri.ToString() würde mir http://www.myhost.com/SilverlightApplication1.aspx liefern.
Wie kann ich diese URL aus dem WebService heraus ermitteln?
links oder stichworte zum weitersuchen würden mir reichen
Guten Abend,
ich würde dir empfehlen mal einen DataPager zu verwenden.
ich frage mich echt wie ein MainBoard das Gewicht tragen soll...
wie bekommen die das überhaupt ins haus? mit einem kran? XD
hallo,
ich weiss jetzt nicht ob es stimmt, aber wenn du eine *.metadata.cs datei in deinem projekt hast dann öffne mal diese.
Dort sind dann alle Eigenschaften aufgelistet. mittels [Display (Name = "MyName")] kannst du dann die Anzeige beeinflussen.
Nagut dann muss das wohl selber generieren bzw. generieren lassen.
Vielen dank an alle!
Hallo zusammen,
Vielen Dank für die Antworten!
Leider muss man bei den Lösungsvorschlägen die ich gefunden habe immer AutogenerateColumns auf False stellen und die ganzen Spalten selber erstellen.
Wenn jemand noch einen Vorschlag hat wäre ich sehr Dankbar!
soweit ich das feststellen konnte wird zuerst das LoadingRow event geschmissen und danach erst werden die Daten geladen.
Welches Event wird nach dem LoadingRow geschmissen? Die Doku listet mir die Events zwar auf nennt aber nicht die reihenfolge
Hallo,
Handelt es sich dabei um silverlight?
dann würde ich sagen dass sich hier MEF (Managed Extensibility Framework
) sehr gut eignen würde
Hier findest du ein gutes tutorial dazu
Building the Hello MEF dashboard
Hallo zusammen,
Ich habe ebenfalls vor die Zelle eines DataGrids zu formatieren.
Ich nutze dazu silverlight wollte aber jetzt nicht extra einen Thread dafür erstellen.
Also zum Problem:
Ich habe zwei DataGrid auf meiner Form die eine Master/Detail Ansicht darstellen.
Das Datum wird im Amerikanischen Format dagestellt (09/17/2010 MM/TT/JJJJ)
Im Master abonniere ich folgendes Event um das Datum nach Deutschem Format darzustellen:
private void dtgrdMaster_LoadingRow( object sender, DataGridRowEventArgs e )
{
try
{
DataGrid snd = (DataGrid)sender;
MyDataBaseTableMaster temp = (MyDataBaseTableMaster)e.Row.DataContext;
TextBlock lblDateTime = (TextBlock)snd.Columns[0].GetCellContent( e.Row );
lblDateTime.Text = temp.AntragsDatum.ToString( _DateTimeFormatString );
//Die ausgabe sieht dann folgendermaßen aus: 21.02.2010 15:48
}
catch ( Exception ex )
{
ErrorWindow.Show( ex );
}
}
Die selbe vorgehensweise funktioniert leider nicht im Detail-DataGrid
private void dtgrdDetail_LoadingRow( object sender, DataGridRowEventArgs e )
{
try
{
DataGrid snd = (DataGrid)sender;
MyDataBaseTableDetail tmp = (MyDataBaseTableDetail)e.Row.DataContext;
TextBlock lblDateTime = (TextBlock)snd.Columns[0].GetCellContent( e.Row );
lblDateTime.Text = tmp.Datum.ToString( _DateTimeFormatString );
CheckBox chk = (CheckBox)snd.Columns[1].GetCellContent( e.Row );
chk.Style = (Style)App.Current.Resources["CheckBoxStyle1"];
}
catch ( Exception ex )
{
ErrorWindow.Show( ex );
}
}
Der Style für die Checkbox hingegen wird angewendet. Hat jemand eine Idee warum das nicht funktioniert?
(Ja die Indexe wurden geprüft und enthalten die Richtigen Elemente)
Da Google die Seite automatisch von *.com auf *.de weiterleitet...
auch wenn man die Sprachoptionen ändert so passiert (bei mir jedenfalls) nichts.
Mit keinem Browser. BingInstant funktioniert wenigstens.
hmpf...
nach etwas suchen und einer Beispiel-Anwendung ist mir die Lösung ins Auge gesprungen
Im CodeBehind muss man nur folgendes machen:
PagedCollectionView innerView = new PagedCollectionView( MyDomainDataSource.DataView[0] ).MyDetails );
innerView.PageSize = 5;
dtpgr.Source = innerView;
DataGridDetails.ItemsSource = dtpgr.Source;
So mein neuer Rechner hat folgendes:
CPU: E8500 @ 4 GHz (stock: 3.16 GHz)
RAM: 4 GB DDR2 (5-5-5-15) @ 1125 (stock: 1066)
GraKa: 2x HD4890 (diese werden auch ohne übertaktung sehr warm ^^)
MB: ASUS Rampage Formula X48
HDD: 1 TB von Samsung,
500 GB von Seagate
Tower: NZXT Beta Evo
PSU: SuperFlower Amptac Pyramid 1kW (Das ding ist ein Kraftwerk!)
Hallo zusammen,
ich habe in silverlight eine Master/Detail-Ansicht mittels Datagrids realisiert.
Das funktioniert auch ganz gut.
Das problem was ich allerdings habe ist, dass es zu einem Master-Eintrag mehrere
Details gibt. Ich dachte mir ich nutze den DataPager um immer nur eine bestimmte
Menge anzeigen zu lassen. Jedoch bleibt der DataPager immer nur grau (als wäre IsEnabled = false).
Hier mal etwas Code:
So sieht die Source aus:
<sdk:DataPager Name="dtpgr" Background="{Binding Path=Background}" PageSize="5" Source="{Binding Source={StaticResource MyViewSource}}" />
und in den Resourcen habe ich folgendes:
<CollectionViewSource x:Key="MyViewSource" Source="{Binding Path=Data.MyDetails, ElementName=MyDomainDataSource}" />
Folgendes wurde auch schon probiert:
<sdk:DataPager Name="dtpgr" Background="{Binding Path=Background}" PageSize="5" Source="{Binding ElementName=MyDomainDataSource, Path=Data.CurrentItem.MyDetails}" />
Was mache ich falsch? ((Die namen wurden alle geändert)
ich weiss nicht ob es für dich interessant sein könnte aber du kannst dir ja mal die
GetWindowLong und
SetWindowLong
APIs angucken.
Hier mein Ergebnis für alle die es mal brauchen sollten
<Style TargetType="CheckBox" x:Key="CheckBoxStyle1">
<Setter Property="Background" Value="#FF448DCA"/>
<Setter Property="Foreground" Value="#FF000000"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="Padding" Value="4,1,0,0"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush">
<Setter.Value>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FFA3AEB9" Offset="0"/>
<GradientStop Color="#FF8399A9" Offset="0.375"/>
<GradientStop Color="#FF718597" Offset="0.375"/>
<GradientStop Color="#FF617584" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="CheckBox">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="16" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="Checked">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="CheckIcon" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0" To="1"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Unchecked">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="UnCheckIcon" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0" To="1"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Indeterminate">
<Storyboard>
<DoubleAnimation Storyboard.TargetName="IndeterminateIcon" Storyboard.TargetProperty="(UIElement.Opacity)" Duration="0" To="1"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid HorizontalAlignment="Left" VerticalAlignment="Top">
<Rectangle x:Name="Background" Width="14" Height="14" RadiusX="1" RadiusY="1" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}" Fill="#FFFFFFFF" Margin="1"/>
<Rectangle x:Name="BackgroundOverlay" Fill="#FFC4DBEE" Opacity="0" Width="14" Height="14" RadiusX="1" RadiusY="1" StrokeThickness="1" Margin="1" Stroke="#00000000"/>
<Rectangle x:Name="BoxMiddleBackground" Width="10" Height="10" RadiusX="1" RadiusY="1" Fill="{TemplateBinding Background}" Stroke="#00000000" StrokeThickness="1"/>
<Rectangle x:Name="BoxMiddle" Width="10" Height="10" RadiusX="1" RadiusY="1" StrokeThickness="1" >
<Rectangle.Stroke>
<LinearGradientBrush EndPoint=".5,1" StartPoint=".5,0">
<GradientStop Color="#FFFFFFFF" Offset="1"/>
<GradientStop Color="#FFFFFFFF" Offset="0"/>
<GradientStop Color="#FFFFFFFF" Offset="0.375"/>
<GradientStop Color="#FFFFFFFF" Offset="0.375"/>
</LinearGradientBrush>
</Rectangle.Stroke>
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0.62,0.15" EndPoint="0.64,0.88">
<GradientStop Color="#FFFFFFFF" Offset="0.013" />
<GradientStop Color="#F9FFFFFF" Offset="0.375" />
<GradientStop Color="#EAFFFFFF" Offset="0.603" />
<GradientStop Color="#D8FFFFFF" Offset="1" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Rectangle x:Name="BoxMiddleLine" Width="10" Height="10" RadiusX="1" RadiusY="1" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="1" Opacity=".2"/>
<Path x:Name="CheckIcon"
Margin="1,1,0,1.5"
Stroke="Green"
Stretch="Fill"
Opacity="0" Width="10.5" Height="10"
Data="M102.03442,598.79645 L105.22962,597.78918 L106.78825,600.42358 C106.78825,600.42358 108.51028,595.74304 110.21724,593.60419 C112.00967,591.35822 114.89314,591.42316 114.89314,591.42316 C114.89314,591.42316 112.67844,593.42645 111.93174,594.44464 C110.7449,596.06293 107.15683,604.13837 107.15683,604.13837 z"
FlowDirection="LeftToRight"/>
<Path x:Name="UnCheckIcon"
Margin="3"
Stroke="Red"
StrokeThickness="2"
Stretch="Fill"
Opacity="0"
Data="M 0 0 L 10 10 M 10 0 L 0 10"
FlowDirection="RightToLeft" />
<Path x:Name="IndeterminateIcon"
Margin="3"
Stroke="Blue"
StrokeThickness="2"
Stretch="Fill"
Opacity="0"
Data="M 0 2.5 A 5 2.5 0 1 1 5 5 L 5 8 M 5 10 L 5 12"
FlowDirection="LeftToRight" />
<Rectangle x:Name="DisabledVisualElement" RadiusX="1" RadiusY="1" Width="14" Height="14" Opacity="0" Fill="#FFFFFFFF"/>
<Rectangle x:Name="ContentFocusVisualElement" RadiusX="2" RadiusY="2" Stroke="#FF6DBDD1" StrokeThickness="1" Opacity="0" IsHitTestVisible="false" Width="16" Height="16" />
</Grid>
<ContentPresenter
Grid.Column="1"
x:Name="contentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Margin="{TemplateBinding Padding}"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Meine Quellen:
CheckBox Styles and Templates
Using Templates to Customize WPF Controls
nach checked style zu suchen habe ich nicht daran gedacht -.-
Ein Riesen Dankeschön!
Vielen dank!
werde ich mal versuchen.
bei fragen melde ich mich ^^
hallo zusammen,
ich habe Dr. Google schon um rat gefragt und auch schon das forum durchsucht.
Ist es möglich in einer CheckBox ein 'X' darzustellen falls der Wert false ist?
(Bei einem true sieht man ja einen hacken)
Links oder stichworte würden mir reichen
ich glaube (weiss es aber nicht) das hat was damit zu tun wie die Dienste geladen werden.
Du müsstest es schaffen dass dein Dienst zuerst geladen wird.
mal ne ganz stupide frage, aber willst du dass deine anwendung im Sys-Tray sichtbar ist oder in der taskbar?
falls zweistes gucke mal hier: Textfeld in die Windows TaskBar einfügen.
EDIT:
vllt auch etwas für dich: Battery Monitor
Guten morgen,
Hast du schonmal volgendes versucht:
-Das Image während der laufzeit ändern bzw ein anderes laden (andere/gleiche farben)
-Das Image zur Laufzeit laden (anfangs hat der Button kein Image (am besten die OnShown-Methode nutzen))
ich habe für Bottom-Up gestimmt da das Fundament auf dem alles weitere aufsetzt stabil sein muss.
genau so wie beim Hausbau, dort fängt man auch nicht zuerst mit dem Dach an XD
Wenn das Fundament stabil ist kann es fast alles tragen. so sehe ich das aber dennoch kommt es zu Situationen wo man auch mal andersherum rangehen muss
hast du schonmal versucht das Panel im FormSizeChanged-Event des Parent zu ändern? Wenn ja, hast du da mit dem debugger die werte überprüft?
Hallo,
das DataGrid hat ein BindingValidationError-Event. Du könntest das dort abfangen
ups sry
hatte ganz vergessen dass C# nicht so toll ist wie VB.Net 😉
was du machen könntest um die ganzen funktionen zu bekommen ist die Microsoft.VisualBasic zu referenzieren.
das würde ich dir aber nur als notlösung empfehlen.
*hust* ein converter hätte dir den code übersetzten können
private string GetCharFromKey(int KeyCode)
{
string functionReturnValue = null;
byte[] KeyBoardState = new byte[256];
long Out = 0;
if (GetKeyboardState(KeyBoardState[0]) < 0) {
if (ToAscii(KeyCode, 0, KeyBoardState[0], Out, 0) < 0) {
if (Out <= 255) {
functionReturnValue = Strings.Chr(Out);
} else {
//GetCharFromKey =
Strings.Left(Strings.StrConv(Strings.ChrW(Out), vbUnicode), 1);
functionReturnValue = Strings.Left(Strings.StrConv(Strings.ChrW(Out), VbStrConv.None), 1);
}
} else {
functionReturnValue = "";
}
} else {
functionReturnValue = "";
}
return functionReturnValue;
}
Das stimmt aber erst nach dem Google druck gemacht worden ist.
vorher konnte man alles klar sehen (in USA soweit ich das gehört habe (Radio))
Im prinzip habe ich auch nichts gegen GSV aber anfangs ging es nicht um die Häuser sondern um andere Daten wie Kennzeichen.
klar sieht man davon genug wenn man durch die straßen geht aber das problem hier ist ja, dass es dann jeder von überall machen kann.
ich bin mir nicht sicher ob der einfache User das Kennzeichen dann einer Person zuordnen kann aber andere leute bestimmt
So hätte man schonmal einen Namen, durch facebook und co. auch noch ein Foto und vllt sogar die adresse...
vllt sagt der name Bashiok einigen leuten hier was
Verärgerte Spieler sammeln Privatdaten von "Bashiok"
EDIT: link hinzugefügt
nun da du ja sagst dass deine registry werte nicht direkt übernommen werden kannst du ja mal folgendes versuchen
Registry Werte selber setzen und SOFORT übernehmen
btw du solltest wirklich versuchen der registry fern zu bleiben...
ich könnte dir ohost.de empfehlen. zwar nicht werbefrei aber wenn du genug leute anwerbst bekommst du keine Werbung mehr angezeigt.
bei Codeprohject gibt es ein Artikel dazu
Getting the active TCP/UDP connections using the GetExtendedTcpTable function
ohh sry hab mich wohl verlesen -.-
Das Control ist im Toolkit (April 2010) enthalten
hier sind mal zwei seiten von codeproject, vllt helfen sie dir auf die sprünge
dabei handelt es sich um einen ValidationError und sobald da kiene Fehler auftauchen wird erst das changed-event abgefeuert.
hier ist ein beispiel aus der MSDN wo sie zeigen wie man die Eingabe des Users überprüft
How to: Validate Input with the Windows Forms DataGrid Control
(ist auf englisch)
ist zwar nicht genau das was du suchst aber dürfte dich weiterbringen
habe es mittlerweile selber gelöst.
hier die Lösung:
[RegularExpression( @"^\d+(,\d\d)?$" )]
public float Preis { get; set; }
(man muss den Punkt aus dem ersten post durch einen komma (ohne Backslash davor) ersetzten)
also wenn das mal nicht verdammt günstig ist...
nur zur vervollständigung:
hast du noch etwas anderes gemacht als die schritte die hier gepostet worden sind?
und? immer noch fehler? gleiche fehlermeldung?
Funktionierts? so wie es soll?
mehr Infos bitte ^^
hmm blöd wäre ja auch zu einfach gewesen was? XD
naja ich hab das hier gefunden, hoffe es hilft dir
could-not-load-file-or-assembly-or-one-of-its-dependencies-access-is-denied