2010-10-19 23 views
0

我在ASP.net Web应用程序中生成了一个表格。该表有4列。目前每行的每个单元格都可以被点击以获得更详细的信息。但是,我不希望每行中的第一个和最后一个单元格都是可点击的。我怎样才能做到这一点,只有第一个第二和第三个单元格可以点击?使第一列和最后一列不可点击

下面是一些代码(从.cs文件):

if(e.Row.RowType == DataControlRowType.DataRow) 
     { 
      e.Row.BackColor = TRADER_BACKCOLOR; 
      e.Row.Cells[0].Font.Bold = true; 
      e.Row.Attributes.Add("onmouseover", "style.backgroundColor = 'Silver'"); 
      e.Row.Attributes.Add("onmouseout", "style.backgroundColor = '" + TRADER_HEX + "'"); 
      e.Row.Attributes.Add("onclick", "RowClick(this, '" + e.Row.Cells[0].Text + "');"); 

从.aspx文件:

function RowClick(caller, id) 
     { 
     if(document.getElementById(id).style.display == "block") 
     { 
       if(last != "" && parent == id) 
       { 
        HideDetailed(); 
       } 
      document.getElementById(id).style.display = "none"; 
     } 
     else 
     { 
      document.getElementById(id).style.display = "block"; 
     } 
     } 

回答

1

你必须预先知道的不管你计数正在绑定你的表格以使其工作。

// minus one since the RowIndex is 0-based 
int total = whateverYouAreBindingTo.Count - 1; 

那么你的事件或不管它是什么,你要添加的OnClick事件中......

if (e.Row.RowIndex > 0 && e.Row.RowIndex < total) 
    e.Row.Attributes.Add("onclick", "RowClick(this, '" + e.Row.Cells[0].Text + "');"); 
0

我只是不适合你不想成为行添加属性点击,如:

if(e.Row.RowType == DataControlRowType.DataRow) 
{ 

    e.Row.BackColor = TRADER_BACKCOLOR; 
    e.Row.Cells[0].Font.Bold = true; 
    e.Row.Attributes.Add("onmouseover", "style.backgroundColor = 'Silver'"); 
    e.Row.Attributes.Add("onmouseout", "style.backgroundColor = '" + TRADER_HEX + "'"); 
    if (e.Row.RowIndex != 0 && e.Row.RowIndex != yourGridView.Rows.Count - 1) 
    { 
    e.Row.Attributes.Add("onclick", "RowClick(this, '" + e.Row.Cells[0].Text + "');"); 
    } 
+1

需要是双符号,而不是管道虽然... – Jagd 2010-10-19 18:52:50

+0

从逻辑上讲,我认为这是正确的',如果它不是0或者它不是最后一个条目,然后添加attribute'。我承认这是笨拙的逻辑,因为我正在打我的头顶,但我认为它会起作用,不是吗? – EJC 2010-10-19 18:54:52

+0

让我们假设我们正在评估第一行,所以行索引等于0.根据您的if语句,第一个条件将评估为false,第二个条件评估为true。由于我们有**或**,那么只有其中一个条件必须对if要执行的块进行评估。这当然是不正确的,因为我们不希望第一行或最后一行执行if块。 – Jagd 2010-10-19 19:29:25

相关问题