我在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";
}
}
需要是双符号,而不是管道虽然... – Jagd 2010-10-19 18:52:50
从逻辑上讲,我认为这是正确的',如果它不是0或者它不是最后一个条目,然后添加attribute'。我承认这是笨拙的逻辑,因为我正在打我的头顶,但我认为它会起作用,不是吗? – EJC 2010-10-19 18:54:52
让我们假设我们正在评估第一行,所以行索引等于0.根据您的if语句,第一个条件将评估为false,第二个条件评估为true。由于我们有**或**,那么只有其中一个条件必须对if要执行的块进行评估。这当然是不正确的,因为我们不希望第一行或最后一行执行if块。 – Jagd 2010-10-19 19:29:25