2

我有一个已经绑定到数据库的数据网格。单击按钮时如何在数据网格上显示数据?

这是我尝试过的...

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        SqlDataAdapter da = null;
        DataSet ds = null;
        try
        {
            da = new SqlDataAdapter("select * from Major", @"Data Source=Student;Initial Catalog=StudDB;Integrated Security=true;Persist Security Info=True;");
            da.SelectCommand.CommandTimeout = 100000;
            ds = new DataSet();
            da.Fill(ds);
            dataGrid1.ItemsSource = ds.Tables[0].DefaultView;
        }
        catch (SqlException ex)
        {
            throw ex;
        }
    }
4

2 回答 2

2

这是解决方案。感谢其他回答过的人!

    SqlConnection con;
    public MainWindow()
    {

        InitializeComponent();
        try
        {
            con = new SqlConnection("Data Source=ComputerName;Initial Catalog=YourDBName;Persist Security Info=True;");
            con.Open();
        }
        catch (Exception ex)
        {

            throw ex;
        }
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        SqlDataAdapter da = null;
        DataSet ds = null;
        try
        {
            da = new SqlDataAdapter("select * from YourTableName",con);
            da.SelectCommand.CommandTimeout = 100000;
            ds = new DataSet();
            da.Fill(ds);
            dataGrid1.ItemsSource = ds.Tables[0].DefaultView;
        }
        catch (SqlException ex)
        {
            throw ex;
        }

并在 Xaml 中设置 Itemsource 和 AutoGenerateColumns

  <DataGrid ItemsSource="{Binding YourTableName}" AutoGenerateColumns="True" Grid.Column="1" Height="423" HorizontalAlignment="Left" Margin="22,24,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="591" />
于 2012-12-13T11:26:38.220 回答
1

您可以创建一个布尔属性,单击按钮后该值会发生变化。现在将此属性绑定到 DataGrid 的 Visibility 属性。使用 BooleanToVisibilityConverter 转换值。

不要忘记在布尔属性更改时通知您的视图(NotifyPropertyChanged-Event)。

于 2012-12-13T10:10:15.240 回答