2010-08-28 28 views
6

C#, ASP.NET, VS08, sử dụng bảng HTML.Làm cách nào để hợp nhất các ô trong một cột bằng cách sử dụng mã phía sau?

Tôi muốn hợp nhất ô - rowspan và colspan mở rộng nhưng không hợp nhất.

Đối với một bức tranh rõ ràng,

  • kéo một điều khiển bảng HTML trên quan điểm thiết kế
  • chọn các tế bào của một cột
  • click chuột phải, chỉnh sửa, trộn

tôi sẽ muốn làm điều này một cách có lập trình trong mã hóa C# khi nhấn nút.

Trả lời

10

Nó chỉ là một chút tẻ nhạt để làm điều này từ mã phía sau, nhưng quá trình này rất đơn giản.

Trước hết, tôi giả định rằng bảng của bạn và các phần tử của nó được đánh dấu bằng thuộc tính runat="server". Điều này sẽ cung cấp cho bạn quyền truy cập vào API phía máy chủ của kiểm soát.

Giả sử bạn muốn hợp nhất hai ô trong hàng đầu tiên. Quá trình này liên quan đến việc thiết lập colspan của một tế bào, sau đó loại bỏ các tế bào khác.

myTable.Rows[0].Cells[i].ColSpan = 2; 
myTable.Rows[0].Cells.RemoveAt(i + 1) 

Điều này cũng tương tự cho các hàng.

myTable.Rows[0].Cells[i].RowSpan = 2; 
myTable.Rows[1].Cells.RemoveAt(i) 

Dưới đây là một ví dụ về một hợp nhất lớn hơn liên quan đến cả rowspan và colspan:

myTable.Rows[0].Cells[i].ColSpan = 2; 
myTable.Rows[0].Cells[i].RowSpan = 2; 
myTable.Rows[0].Cells.RemoveAt(i + 1) 
myTable.Rows[1].Cells.RemoveAt(i) 
myTable.Rows[1].Cells.RemoveAt(i + 1) 

Lưu ý rằng nếu bảng của bạn đã có nhịp hàng và tế bào kéo dài mà bạn sẽ có thêm nhiều động tác chân để làm để tính toán ô cần loại bỏ.

Chúc may mắn!

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