Nếu bạn chỉ định AllowUserToAddRows
trong biểu mẫu thắng DataGridView
, người dùng có thể thêm hàng mới theo cách thủ công trong lưới. Bây giờ tôi muốn thêm một nút hình ảnh trong một cột cũng sẽ được hiển thị trong hàng mới. Nhưng tôi không thể làm cho nó hiển thị hình ảnh, chỉ có hình ảnh chữ thập đỏ được hiển thị như thể nó không được tìm thấy.Thay thế "chữ thập đỏ" trong DataGridViewImageColumn của "hàng mới" bằng hình ảnh tùy chỉnh
Dưới đây là một ảnh chụp màn hình của lưới điện với hình ảnh gây phiền nhiễu:
Những hình ảnh tôi muốn thể hiện là trong Properties.Resources.Assign_OneToMany
.
Tôi đã tìm kiếm khắp nơi và thử nhiều cách tương tự (trong constructor):
var assignChargeColumn = (DataGridViewImageColumn)this.GrdChargeArrivalPart.Columns["AssignCharge"];
assignChargeColumn.DefaultCellStyle.NullValue = null;
assignChargeColumn.DefaultCellStyle.NullValue = Properties.Resources.Assign_OneToMany;
hoặc
private void GrdChargeArrivalPart_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
var grid = (DataGridView)sender;
DataGridViewRow row = grid.Rows[e.RowIndex];
if (row.IsNewRow)
{
var imageCell = (DataGridViewImageCell) row.Cells["AssignCharge"];
imageCell.Value = new Bitmap(1, 1); // or ...:
imageCell.Value = Properties.Resources.Assign_OneToMany; // or ...:
imageCell.Value = null;
}
}
Dĩ nhiên tôi cũng đã gán hình ảnh này trong cột thu của DataGridView
trên nhà thiết kế:
Vậy cách đúng để xác định hình ảnh mặc định cho DataGridViewImageColumn
được hiển thị ngay cả khi không có dữ liệu nhưng chỉ có hàng mới? Nếu có vấn đề, đây là jpg-image:
Ý của bạn là gì * hàng mới *? Ai đó thêm hàng mới. Sau đó thêm một số khác. Đó là hàng mới. Hiện tại hoặc cả hai (hiện tại và trước đó)? –
@ γηράσκωδ'αείπολλάδιδασκόμε: 'DataGridViewRow' được thêm tự động nếu' AllowUserToAddRows' được đặt thành 'true'. Đó là hàng duy nhất trả về 'true' cho [' IsNewRow'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.isnewrow (v = vs.110) .aspx) (liên kết bên trong, từ MSDN: _ "một hàng dừng lại là hàng mới khi nhập dữ liệu vào hàng bắt đầu." _). Người dùng có thể chèn bản ghi bằng cách cung cấp tất cả các giá trị trực tiếp trong 'DataGridView'. Vì vậy, về cơ bản hàng này thay thế biểu mẫu. –