2011-10-13 33 views
18

Tôi mới dùng Visual Studio 2010 C#. Tôi đã tạo một biểu mẫu. Tuy nhiên, khi tôi chạy các ứng dụng có một lỗi xảy ra nói rằng "Cannot implicity convert type 'string' to 'System.Windows.Forms.ColumnHeader'". Ai đó có thể cho tôi biết điều gì đã xảy ra và làm cách nào tôi có thể giải quyết vấn đề này? Cảm ơn.Không thể chuyển đổi kiểu 'chuỗi' thành 'System.Windows.Forms.ColumnHeader

enter image description here

Trả lời

54

Có vẻ như bạn đã tạo một ColumnHeader với tên Name về hình thức mà lần lượt ẩn các hình thức sở hữu this.Name mà là một chuỗi ... đó là kịch bản duy nhất mà tôi có thể tưởng tượng dẫn đến sự lỗi từ ảnh chụp màn hình được cung cấp.
NẾU giả định của tôi là đúng, bạn có thể giải quyết bằng cách thay đổi dòng để this.Name.Name = "ter";

+0

Cảm ơn bạn đã trợ giúp. Điều này giải quyết được vấn đề của tôi. Cảm ơn một lần nữa. – sean

+0

bạn được chào đón :-) – Yahia

3

Bạn có chắc chắn bạn không muốn .Text thay vì .Name?

4

Dường như bạn đã tạo một Trình tạo cột bằng tên "Tên". Vui lòng kiểm tra xem bạn có bất kỳ điều khiển nào có tên "Tên" không.

Ví dụ: -Tôi đã có DataGridView có tên cột là "SrNo", "Tên", "Độ tuổi". Tôi đã gặp lỗi tương tự. Tại sao bcoz của "Tên".

Giải pháp: Đổi tên ColumnHeader của DataGridView thành "Tên" thành "Người" khác hoặc bất kỳ điều nào khác ngoài "Tên". Nhưng nếu bạn muốn hiển thị "Tên" làm văn bản Tiêu đề của DataGridView, bạn có thể giữ HeaderText là "Tên" .i.e.

Tên: Person

HeaderText: Đặt tên cho

DataPropertyName: Người

Đây DataPropertyName là không bắt buộc. Nó được sử dụng nếu ràng buộc thông qua bộ sưu tập dưới dạng DataSource.

Các vấn đề liên quan