1
SQLサーバーによってデータオブジェクトが設定されています。私はエントリのリストから行を選択し、それらをグリッド外のテキストボックスに入力しようとしています。私は、グリッドを作成する以外に、クエリ結果を管理可能なデータに変換する方法を見つけることができないようです。複数のテキストボックスにSQLクエリ結果を渡す
C#
MoviesEntities dataEntities = new MoviesEntities();
ObjectQuery<MovieTable> _movies = dataEntities.MovieTables;
var query =
from MovieTable in _movies
where MovieTable.Title == MMEM.MovieTitle
select MovieTable.id;
string result = Convert.ToString(query); //or something??
XAML:
<Window x:Class="MovieApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow"
Height="650"
Width="525"
ResizeMode="NoResize"
WindowStartupLocation="CenterScreen"
xmlns:vm="clr-namespace:MovieApp">
<Window.Resources>
<vm:MovieAppViewModel x:Key="MovieAppViewModel"/>
</Window.Resources>
<StackPanel x:Name="RootStackPanel" DataContext="{StaticResource MovieAppViewModel}">
<Grid HorizontalAlignment="Center" Height="99" Width="440">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Text="Movie Title" Margin="30 0 30 0" HorizontalAlignment="Center" FontWeight="Heavy"/>
<TextBlock Grid.Column="1" Text="Rating" Margin="30 0 30 0" HorizontalAlignment="Center" FontWeight="Heavy"/>
<TextBlock Grid.Column="2" Text="Stars" Margin="30 0 30 0" HorizontalAlignment="Center" FontWeight="Heavy"/>
<TextBlock Grid.Column="3" Text="Release Year" Margin="30 0 30 0" HorizontalAlignment="Center" FontWeight="Heavy"/>
<TextBox Grid.Column="0" TextAlignment="Center" Text="{Binding MMEM.MovieTitle}" IsEnabled="{Binding MMEM.IsEditable}" Grid.Row="1" MaxLength="50" Width="100"/>
<TextBox Grid.Column="1" TextAlignment="Center" Text="{Binding MMEM.Rating}" IsEnabled="{Binding MMEM.IsEditable}" Grid.Row="1" MaxLength="5" Width="55"/>
<TextBox Grid.Column="2" TextAlignment="Center" Text="{Binding MMEM.Stars}" IsEnabled="{Binding MMEM.IsEditable}" Grid.Row="1" MaxLength="5" Width="20"/>
<TextBox Grid.Column="3" TextAlignment="Center" Text="{Binding MMEM.ReleaseYear}" IsEnabled="{Binding MMEM.IsEditable}" Grid.Row="1" MaxLength="20" Width="100"/>
</Grid>
<Button Content="Edit Mode" Command="{Binding ToggleCommand}"/>
<DataGrid
Width="Auto"
SelectionMode="Extended"
IsReadOnly="True"
AutoGenerateColumns="False"
ItemsSource="{Binding MMLM.MoviesList}"
DataContext="{StaticResource MovieAppViewModel}">
<DataGrid.Columns>
<DataGridTextColumn Width="200" Header="Title" Binding="{Binding Title}"/>
<DataGridTextColumn Width="100" Header="Rating" Binding="{Binding Rating}"/>
<DataGridTextColumn Width="100" Header="Stars" Binding="{Binding Stars}"/>
<DataGridTextColumn Width="93" Header="Release Year" Binding="{Binding ReleaseYear}"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
私は、文字列に行を解析し、テキストボックスを移入するよりも効率的な方法があるという仮定の下で、しかしでいますこの点私は私が得ることができるものを取るよ!
入力ありがとうございました!!!!
ポストあなたのXAML - グリッドとテキストボックスの両方のコード。グリッドをデータソースにバインドし、それを自動的に(半)データにすることができるはずです。 – ChrisF
グリッドは自動的に入力されますが、選択した行のデータを上記のTextBoxに取り込みたいとします。それがあなたの意図したものかどうかは分かりませんが、私はその部分を持っています。ありがとう入力 – Josh
グリッドから選択した行を取得できるはずです(私はSilverlightを使用しますので、WPFの正確な構文を高速化することはできません)ので、オブジェクトを与えることができます - MovieEntity?この場合。 – ChrisF