Tôi đang làm việc trên một ứng dụng ghi tên và thông tin được lưu trữ trong cơ sở dữ liệu SQLite. Tất cả các cột trong cơ sở dữ liệu là kiểu TEXT, ngoại trừ ngày sinh cột, là DATETIME. Cơ sở dữ liệu Access ban đầu mà tôi đã chuyển tới cơ sở dữ liệu SQLite cho phép null cho ngày sinh, vì vậy khi tôi sao chép nó, tôi đặt tất cả các giá trị null thành DateTime.MinValue.Thay thế DateTime.MinValue trong DataGridView
Trong ứng dụng của tôi, ngày cột sinh được định dạng như sau:
DataGridViewTextBoxColumn dateOfBirth = new DataGridViewTextBoxColumn();
dateOfBirth.HeaderText = "DOB";
dateOfBirth.DataPropertyName = "DateOfBirth";
dateOfBirth.Width = 75;
dateOfBirth.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dateOfBirth.DefaultCellStyle.Format = "MM/dd/yyyy";
Vấn đề của tôi là hàng nơi có không phải là một ngày tháng năm sinh, cơ sở dữ liệu có DateTime.MinValue, hiển thị trong tôi DataGridView là 01/01/0001.
Tôi đang tìm cách thay thế 01/01/0001 bằng một chuỗi trống ("") trong DataGridView của mình.
private void resultsGrid_DateFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
if(resultsGrid.Columns[e.ColumnIndex].Name.Equals("DateOfBirth"))
{
if ((DateTime)(resultsGrid.CurrentRow.Cells["DateOfBirth"].Value) == DateTime.MinValue)
{
// Set cell value to ""
}
}
}
Bất cứ ai cũng có ý tưởng về cách thay thế DateTime.MinValue trong DataGridView bằng chuỗi rỗng? Cảm ơn!
Chỉnh sửa: Truyền giá trị ô bằng DateTime cho phép câu lệnh if tôi phải làm việc, nhưng tôi vẫn không thể tìm ra mã để thay thế MinValues bằng một chuỗi trống.
tương tự Q & A đã được đăng tải trên bài đăng này: http://stackoverflow.com/a/36492728/909689 –