私は以下に書かれたXAMLを使用しています
<Window x:Class="ERP.WinApp.Views.Admin.Patients"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Patients" Height="auto" MinWidth="1024" Width="1024" ShowInTaskbar="False" Icon="/ERP.WinApp;component/Images/patient.png" WindowStartupLocation="CenterScreen">
<Grid>
<DataGrid ItemsSource="{Binding}" Grid.Row="1" Name="gridPatients" ></DataGrid>
</Grid>
</Window>
そして、以下に書かれた背後にあるコード
namespace ERP.WinApp.Views.Admin
{
/// <summary>
/// Interaction logic for Patients.xaml
/// </summary>
public partial class Patients : Window
{
public Patients()
{
InitializeComponent();
List<Patient> list = new List<Patient>();
list = // Populate it through some method
gridPatients.DataContext = list;
}
}
}
患者クラスには単純なプロパティがほとんどありません
public class Patient
{
public int Id { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public string FullName { get{ return this.FirstName+ " " +this.MiddleName+ " " +this.LastName; } }
public DateTime DOB { get; set; }
public int Age { get { return DateTime.Today.Year - this.DOB.Year; } }
public char Gender { get; set; }
}
アプリを実行すると、データグリッドにはすべての列にデータが含まれていますが、IDと年齢と名、ミドル、姓をスキップするなどの列をいくつかだけにしたい場合は、何が最善の方法ですか.
非表示にしたい列ごとにこれを行うのは悪い方法だと思います
gridPatients.Columns[0].Visibility = Visibility.Collapsed;