我的表单中有一个数据网格我需要弹出一个新的表单,我双击一个单元格并在这里检索值 我试过这个
XAML
<DataGrid x:Name="Grid" IsReadOnly="True" AutoGenerateColumns="True" CanUserReorderColumns="True" CanUserResizeColumns="True" CanUserResizeRows="False" CanUserSortColumns="True" HorizontalAlignment="Left" Margin="66,71,0,0" VerticalAlignment="Top" Height="419" Width="874">
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<EventSetter Event="MouseDoubleClick" Handler="Row_DoubleClick"/>
</Style>
</DataGrid.Resources>
</DataGrid>
CS
private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
{
DataGridRow dgr = sender as DataGridRow;
Form2 f2 = new Form2(dgr);
}
我在填充数据网格时遇到了问题。我有那个组合框,如果我更改所选项目将填充数据网格与所选项目的WHERE语句我做了这个代码behinde
private void Concour_Code_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
String Selected = Concour_Code.Text;
MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
builder.Server = "127.0.0.1";
builder.UserID = "root";
builder.Password = "root";
builder.Database = "gestion_concour";
//conneter à la base de donnée (gestion_concour)
MySqlConnection connection = new MySqlConnection(builder.ToString());
connection.Open();
String query = "SELECT * FROM gestion_concour.condidat_concour WHERE Concour_Code = @Code";
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@Code", Selected);
cmd.ExecuteNonQuery();
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataTable dt = new DataTable("condidat_concour");
da.Fill(dt);
Grid.ItemsSource = dt.DefaultView;
da.Update(dt);
connection.Close();
}
它填充数据网格,但第一次填充列而没有行,如果我选择另一个,则用前一个值填充它
答案 0 :(得分:1)
尝试使用互动触发器
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
// event to command
</i:EventTrigger>
</i:Interaction.Triggers>