在DatagriD中,第一列是模板列imagebutton =pic.
我在CS中
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
e.Item.Attributes.Add("onclick","test()");
在ASPX中:
function test()
{
var tr = window.event.srcElement;
tr.style.backgroundColor="Red";
var inputs = tr.getElementsByTagName("INPUT");
for(var i=0;i<inputs.length;i++)
{
if(inputs[i].type="image")
{
if(inputs[i].style.display="" || inputs[i].style.display=="none")
inputs[i].style.display="block";
else
inputs[i].style.display="none";
}
}
}
但当点击一行时,模板列不能显示我想达到效果是:当点击x行时,这一行的模板列控件就显示,再点这一行时,又隐藏

解决方案 »

  1.   

    if(inputs[i].type="image")
    {
      if (inputs[i].style.display=="block")
      {
         inputs[i].style.display="none";
      }else{
         inputs[i].style.display="block"
      }
    }
    试试
      

  2.   


    <asp:DataGrid id="DataGrid1" runat="server">
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:Image style="float:right" ID="Image1" Runat="server" ImageUrl="1.bmp" />
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>//可以运行,但是不是点图片,而是点单元格的空隙
    function test()
    {
    var tr = window.event.srcElement;
    tr.style.backgroundColor="Red";
    var img = tr.getElementsByTagName("img");
    for(var i = 0; i < img.length; i++)
    {
    if(img[i].style.display == "" || img[i].style.display == "none")
    img[i].style.display = "block";
    else
    img[i].style.display = "none";
    }
    }
      

  3.   

    上面的问题,基本解决,现在我想这样,不知行不行.<asp:DataGrid id="DataGrid1" runat="server">
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:Image style="float:right" ID="Image1" Runat="server" ImageUrl="1.bmp" />
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>
    .....................................
    function test()
    {
    var tr = window.event.srcElement;
    tr.style.backgroundColor="Red";
    var img = tr.getElementsByTagName("img");
    for(var i = 0; i < img.length; i++)
    {
    if(img[i].style.display == "" || img[i].style.display == "none")
    img[i].style.display = "block";//在这儿如何设置显示的图片为2.bmp
    else
    img[i].style.display = "none";//在这儿如何设置显示的图片为1.bmp
    }
    }