DataGrid DoubleClickEvent

时间:2016-04-25 18:52:35

标签: c# wpf datagrid

我的表单中有一个数据网格我需要弹出一个新的表单,我双击一个单元格并在这里检索值 我试过这个

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();

}

它填充数据网格,但第一次填充列而没有行,如果我选择另一个,则用前一个值填充它

1 个答案:

答案 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>