2017-05-07 7 views
2

私はちょうどクライアントのリストを作成し、データベースからクライアントの詳細を取得し、それらをリストに追加してから、リストをDataGridに追加しました。ここに私のDataGridのXAMLコードです:余分な列を削除するにはどうすればよいですか?

<DataGrid x:Name="dataGridC" HorizontalAlignment="Left" Margin="10" VerticalAlignment="Top" Height="150" Width="1000" /> 

そして、これは私のコードビハインドである:私はすでにそれを試してみました

var cn = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\ASUS\Documents\Visual Studio 2015\Projects\G_D_C v2\G_D_C v2\G_D_C.mdb"); 
       cn.Open(); 

       OleDbCommand cmd = new OleDbCommand(); 


       cmd.CommandText = "select * from [client]"; 
       cmd.Connection = cn; 

      // OleDbDataReader rd = cmd.ExecuteReader(); 
        using (OleDbDataReader reader = cmd.ExecuteReader()) 
        { 

         while (reader.Read()) 
         { 
          int ID = reader.GetInt32(0); 
          string nom_cs = reader.GetString(1); 
          int num_tel = reader.GetInt32(2); 
          int fax = reader.GetInt32(3); 
          string adresse = reader.GetString(4); 

          client c = new client(ID, nom_cs, num_tel, fax, adresse); 
          lsc.Add(c); 
         } 
        } 

       // dataGridC.ItemsSource = rd; 


        dataGridC.ItemsSource = lsc; 

ScreenShot

答えて

0

<DataGrid AutoGenerateColumns="False" />

https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid(v=vs.110).aspx

右あなたが表示したいものを指定しなかったので。 AutoGenerateColumns="False"は、DataGrid.ItemSourceに存在する列を生成しません。なぜなら、そのプロパティは列を生成しないように指示しているからです。行は表示されますが、実際には表示されません。

<DataGrid x:Name="Grid" AutoGenerateColumns="False"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Binding="{Binding Id}" Header="ID" /> 
     <DataGridTextColumn Binding="{Binding nom_cs}" Header="Nom CS" /> 
     <DataGridTextColumn Binding="{Binding num_tel}" Header="Num Tel" /> 
     <DataGridTextColumn Binding="{Binding fax}" Header="Fax" /> 
     <DataGridTextColumn Binding="{Binding Adresse}" Header="Adresse" /> 
    </DataGrid.Columns> 
</DataGrid> 
関連する問題