2013-03-18 179 views
1

我是新手,很難添加鏈接,在動態添加的表格中顯示爲像img。如何在動態添加的表格中添加動態鏈接

string search = Search.Text; 
IMyData members = new MyData(); 
DataTable dt = new DataTable(); 

dt = members.Search(search); 

Table t = new Table(); 
t.ID = "tblTable"; 
TableRow row = null; 


for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    HyperLink link = new HyperLink(); 
    row = new TableRow(); 
    for (int j = 0; j < dt.Columns.Count; j++) 
    { 
     TableCell cell = new TableCell(); 
     if (j == dt.Columns.Count - 1)  //This last field may hava a number 
     { 
      if (Convert.ToInt32(dt.Rows[i][j].ToString()) > 0) 
      { 
      link.ID = "link" + i + "_" + j; 
      link.NavigateUrl = "members.aspx?showLease=" + dt.Rows[i][j].ToString(); 
      link.ImageUrl = "img/document.png"; 
      Page.Controls.Add(link);  // How to put this in a cell, not on page 
      } 
      else 
      { 
      cell.Text = dt.Rows[i][j].ToString(); 
      } 
     } 
     row.Cells.Add(cell); 
     } 
     t.Rows.Add(row); 
    } 
    pnlTable.Controls.Add(t); 

如何將超鏈接放到單元格而不是頁面?

謝謝

回答

0

您可以按照您在頁面中所做的方式在TableCell中添加控件。更改代碼這樣

Page.Controls.Add(link);//Will add control in page 
cell.Controls.Add(link);//Will add control in table cell 
+0

TNX了很多!並與:row.Cells.Add(cell);之後,這一切都是成功的:-) – DevNewbie 2013-03-18 21:22:20

0

見下面,我改變Page.Controls.Add(鏈接)cell.Controls.Add(鏈接),移動你的超鏈接申報進入細胞循環。否則,如果只會被添加到最後一個單元格中。 但如果我看到你的代碼似乎只有最後一個單元格都會有,因爲第j == dt.Columns.Count的鏈接或文字 - 1

for (int i = 0; i < dt.Rows.Count; i++) { 
    row = new TableRow(); 
    for (int j = 0; j < dt.Columns.Count; j++) 
    { 
     HyperLink link = new HyperLink(); 
     TableCell cell = new TableCell(); 
     if (j == dt.Columns.Count - 1)  //This last field may hava a number 
     { 
      if (Convert.ToInt32(dt.Rows[i][j].ToString()) > 0) 
      { 
      link.ID = "link" + i + "_" + j; 
      link.NavigateUrl = "members.aspx?showLease=" + dt.Rows[i][j].ToString(); 
      link.ImageUrl = "img/document.png"; 
      cell.Controls.Add(link);  // How to put this in a cell, not on page 
      } 
      else 
      { 
      cell.Text = dt.Rows[i][j].ToString(); 
      } 
     } 
     row.Cells.Add(cell); 
    } 
    t.Rows.Add(row); 
} 
+0

tnx。這是正確的,只有最後一個領域有這個超鏈接。 – DevNewbie 2013-03-18 21:23:34