Winforms .NET 3.5 (C#)Hiển thị điều khiển người dùng trong DatagridViewCell
Tôi có DataGridView (DGView) và tôi đã tạo CustomColumn và CustomCell được hiển thị trong DGView. Tôi tạo ra một CustomUserControl mà tôi muốn hiển thị trong CustomCell.
Sự cố: Tôi không thấy điều khiển người dùng trong cột. Tôi nghĩ rằng tôi cần phải ghi đè lên Paint() phương pháp trong CustomCell - Bất kỳ điểm nào làm thế nào tôi có thể làm điều đó?
Lưu ý - Ví dụ MSDN về điều khiển người dùng lưu trữ là để chỉnh sửa giá trị ô - nơi bạn thực hiện điều khiển người dùng của mình ở nơi bạn đang chỉnh sửa ô. Tôi muốn kiểm soát người dùng của tôi để hiển thị như một điều khiển winform bình thường. Điều khiển người dùng này hiển thị thông báo cho hàng .. và mỗi hàng có thể có các thông báo khác nhau. Tôi muốn người dùng có thể nhấp vào thông báo và biết thêm chi tiết về nó. .. nhưng hiện tại tôi bị kẹt tại "làm cách nào để hiển thị điều khiển người dùng này"
Mọi con trỏ sẽ được đánh giá cao.
public class CustomColumn : DataGridViewColumn {
public CustomColumn() : base(new CustomeCell()) { }
public override DataGridViewCell CellTemplate
{
get
{
return base.CellTemplate;
}
set
{
// Ensure that the cell used for the template is a CalendarCell.
if (value != null &&
!value.GetType().IsAssignableFrom(typeof(CustomeCell)))
{
throw new InvalidCastException("It should be a custom Cell");
}
base.CellTemplate = value;
}
}
}
public class CustomeCell : DataGridViewTextBoxCell
{
public CustomeCell() : base() { }
public override Type ValueType
{
get
{
return typeof(CustomUserControl);
}
}
public override Type FormattedValueType
{
get
{
return typeof(CustomUserControl);
}
}
}
Bạn cũng phải xác định một lớp bắt nguồn từ Kiểm soát và triển khai giao diện IDataGridViewEditingControl. –
@AngshumanAgarwal Như tôi đã đề cập trong câu hỏi của mình - Tôi không muốn chỉnh sửa, tôi chỉ muốn hiển thị kiểm soát người dùng của mình cho tất cả các hàng trong một cột. – karephul
tôi không hiểu chính xác ... nhưng bạn muốn hiển thị giá trị của các ô không hiển thị của datagridview cho người dùng? (tức là khi người dùng nhấp một lần lên ô) nếu vậy, chỉ cần sử dụng ToolTip với SQLQuery hoặc LINQ – sihirbazzz