Super Danke für den Suchbegriff.
Ich habe was für mich gefunden.
Hallo
Ich bräuchte euere Hilfe.
Ich habe ein Hauptgrid mit x:Name="myMainGrid"
nun möchte ich die Touch Funktion haben und war wenn man von Rechts nach Links Wischen tut das dann die Controls die ich einbinde ändert.
danach wenn man von links nach Rechts wischt wieder zurück.
ich habe diese Controls
MainControl
Control1
Control2
Control3
Control4
Ich habe schon gegooglt aber irgendwie findet ich da nicht, ich weiß auch nicht nach was ich genau googln soll.
Ich hoffe es könnte mir jemand helfen, vielleicht auch mit einen Code beispiel.
Danke im vorraus.
Gruß
Mezzo
Hallo
Ich versuche gerade eine DataGrid in einer SQLite Datenbank zu Speichern, Das auslesen habe ich schon
Hier mal mein Code.
XAML:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBox x:Name="textBox" HorizontalAlignment="Left" Margin="36,35,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="150" Height="37"/>
<Button x:Name="button_AddColumn" Click="button_AddColumn_Click" Content="Button" HorizontalAlignment="Left" Margin="219,39,0,0" VerticalAlignment="Top" Height="33" Width="120"/>
<DataGrid x:Name="myDataGrid" Grid.Row="1" />
</Grid>
xaml.cs zum Testen habe ich jetzt mal kein MVVM gemacht, erst muss ich die Funktion lernen
public partial class MainWindow : Window
{
DataTable myDataTable = new DataTable();
SQLiteConnection myConnection = new SQLiteConnection();
SQLiteCommand myCommand = new SQLiteCommand();
DataSet myDataSet = new DataSet();
public MainWindow()
{
InitializeComponent();
myDataTable.TableName = "test";
myConnection.ConnectionString = @"Data Source = myDataBase.db";
myCommand = myConnection.CreateCommand();
myConnection.Open();
SQLiteDataAdapter adapter = new SQLiteDataAdapter("select * from test", myConnection);
adapter.Fill(myDataTable);
myDataGrid.ItemsSource = myDataTable.AsDataView();
myConnection.Close();
}
private void button_AddColumn_Click(object sender, RoutedEventArgs e)
{
myConnection.ConnectionString = @"Data Source = myDataBase.db";
myCommand = myConnection.CreateCommand();
myConnection.Open();
SQLiteDataAdapter adapter = new SQLiteDataAdapter("select * from test", myConnection);
//DataSet myDataSet = new DataSet();
adapter.Fill(myDataTable);
myDataTable.AcceptChanges();
myDataTable.Columns.Add(textBox.Text);
myDataGrid.ItemsSource = myDataSet.Tables;
//SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter);
//adapter.UpdateCommand = builder.GetUpdateCommand();
// adapter.TableMappings.Clear();
// adapter.TableMappings.Add(myDataTable);
adapter.Update(myDataTable);
myConnection.Close();
}
}
zu mein Problem ich erstelle mit dem Textbox und Button ein neues Column diese will ich dann in DB Speichern.
Ich könnte es auch auf einem andern weg machen, aber ich möchte versuchen, das er mir das DataGrid 1 zu 1 speichert, es soll auch gespeichert werden wenn in Row was drin steht.
Ich hoffe mir könnte da jemand helfen.
Gruß
Mezzo
Hallo,
Ich weiß nicht was in den ConnectionString rein kommen soll.
ich habe dieses SQLite and SQL Server Compact Toolbox - Visual Studio Marketplace installiert
Wie das ganze richtig funktioniert, keine Ahnung. Ich finde da auch keine Schritt für Schritt Anleitung.
Gruß
Mezzo
Hallo
Ich habe mit das SQLite bei die Erweiterungen Installiert.
Sie kann ich bei Datenquelle wenn ich auf Hinzufügen klicke das SQLite auswählen. Siehe Bild 01.png.
Wenn ich auf Verbindung Test gehe kommt das die Verbindung erfolgreich war. Aber wenn ich die ConnectionString meine test.db eintrage. kommt diese Fehlermeldung, siehe Bild 02.png
Was kann das sein?
Wie kann ich das mit dem SQLite richtig machen?
Gruß
Mezzo
ich habe es nun mit DataSet1 gelöst, ich wollte eigentlich eine andere Lösung ohne DataSet1.xsd machen.
Hallo ich bräuchte euere Hilfe
Ich weiß nicht wie ich in ein DataGrid ein Bild anzeigen lassen kann und wie es mit dem Binding dann richtig funktioniert.
Ich habe eine DataTabele siehe Code
DataTable myDataTable = new DataTable();
public MainDataGridList()
{
InitializeComponent();
myDataTable.Columns.Add("Images");
myDataTable.Columns.Add("Name");
myDataTable.Rows.Add(@"c:\myBild\01.jpg", "Bild1");
myDataTable.Rows.Add(@"c:\myBild\02.jpg", "Bild2");
myDataTable.Rows.Add(@"c:\myBild\03.jpg", "Bild3");
myDataGrid.ItemsSource = myDataTable.Rows;
}
WPF
<DataGrid Grid.Row="2" x:Name="myDataGrid">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Images">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Height="25" Width="25" Source="{Binding Images}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Name">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
Vielleicht kann mir jemand ein Beispiel geben wie man das mit DataGrid und einer Tabelle es richtig machen kann.
Gruß
Mezzo
Sorry hab den fehler gefunden, ich hatte meine Zahl durch 10 geteilt, ich muss die Zahlen dann immer Teilen bei 2 komma stellen muss ich durch 100 teilen.
Hallo,
Danke für deine Antwort
Mit einer Komma stelle funktioniert das gut. aber wenn ich nur das F benutze dann ist es nicht richtig.
Text="{Binding test03, StringFormat=F}"
Bei einen Wert 30 habe ich dann 3.00 aber es sollte dann 0.30 sein.
Bei einen Wert von 305 habe ich dann die Anzeige 30.50 sollte aber 3.05 sein.
Gibt es da eine andere Möglichkeit?
Gruß
Mezzo
Hallo
Wie kann ich in WPF die Formatieren der Anzeige für Zahlen machen?
z.b.
Ich habe in einer Variable Short eine Zahl 30. die Formatierung ist #.#, so soll es in der Textbox 3.0 angezeigt werden. Wichtig ist das die 0 auch angezeigt wird aber in der Variable soll es auf 30 bleiben.
Genauso wenn man in der Textbox nur eine Zahl 3 Einträgt soll dann in der Textbox 0.3 sein.
Die gibt es dann auch mit zwei komma stellen #.## da wäre der wärt 30 dann so 0.30.
Ist das irgendwie möglich ohne das ich den Wert in Double speichern muss und die Zahl 30/10 oder /100 machen muss.
Gruß
Mezzo