用一DataGrid控件,其中第一列为模板列CheckBox(Web控件)
如何触发某事件设置DataGrid上的模板列CheckBox的enabled属性?并且CheckBox.enabled属性的设置在客户端实现(javascript)。
如何在Button的onclick事件中判断DataGrid上的模板列CheckBox的属性?
谢谢!!!

解决方案 »

  1.   

    DataGridItem di;//DataGrid 的一行,SelectCheckbox是模板列中的ID
    HtmlInputCheckBox chkBx = (HtmlInputCheckBox)di.FindControl("SelectCheckbox") ;
    if( chkBx !=null && chkBx.Checked )就可以了
      

  2.   

    <%@ Page language="c#" Codebehind="news_manage.aspx.cs" AutoEventWireup="false" Inherits="aspnetc.test.news_manage" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>custompage</title>
    <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    <LINK href="../style/adminCss.css" type="text/css" rel="stylesheet">
    <script>
    function selAll()
    {
    //alert("aaa");
    var len=document.Form1.elements.length;
    var i;
    if (document.Form1.btnSelAll.value=="全选")
    {
    for (i=0;i<len;i++)
    {
    if (document.Form1.elements[i].type=="checkbox")
    {
    document.Form1.elements[i].checked=true;
    }
    }
    document.Form1.btnSelAll.value="全不选";
    }
    else
    {
    for (i=0;i<len;i++)
    {
    if (document.Form1.elements[i].type=="checkbox")
    {
    document.Form1.elements[i].checked=false;
    }
    }
    document.Form1.btnSelAll.value="全选";
    }
    }
    </script>
    </HEAD>
    <body class="main">
    <form id="Form1" method="post" runat="server">
    <table class="main">
    <TR>
    <!--<input type="button" value="add"  onclick="javascript:alert('aa');">&nbsp;&nbsp;-->
    <TD><input id="btnAdd" type="button" value="增加" name="btnAdd2" runat="server">&nbsp;&nbsp;
    <input id="btnSelAll" onclick="javascript:selAll();" type="button" value="全选">&nbsp;&nbsp;
    <asp:button id="btnDel" Text="删除" Runat="server"></asp:button></TD>
    </TR>
    </table>
    <table class="main" id="Table1">
    <TR>
    <TD><asp:datagrid id="DgNews" runat="server" Width="100%" AutoGenerateColumns="False" ShowFooter="True"
    PagerStyle-Mode="NumericPages" AllowPaging="True" AllowCustomPaging="True" PageSize="15" DataKeyField="news_id">
    <SelectedItemStyle BackColor="#000000"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="#FFFF99"></AlternatingItemStyle>
    <HeaderStyle VerticalAlign="Middle" BackColor="#FFFF66"></HeaderStyle>
    <FooterStyle VerticalAlign="Top" BackColor="#FFFFCC"></FooterStyle>
    <Columns>
    <asp:TemplateColumn>
    <ItemTemplate>
    <!--Text='<%# DataBinder.Eval(Container.DataItem, "news_id")%>' 
    <a onclick="rowClicked('<%#DataBinder.Eval(Container.DataItem,"news_id")%>')">aaa</a>-->
    <asp:CheckBox ID="cbxNews" runat="server" AutoPostBack="False"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn Visible="False" DataField="news_id" HeaderText="序号"></asp:BoundColumn>
    <asp:HyperLinkColumn DataNavigateUrlField="news_id" DataNavigateUrlFormatString="news_view.aspx?nNewsID={0}"
    DataTextField="news_title" HeaderText="标题"></asp:HyperLinkColumn>
    <asp:BoundColumn DataField="news_date" HeaderText="日期" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>
    <asp:HyperLinkColumn Text="修改" DataNavigateUrlField="news_id" DataNavigateUrlFormatString="news_edit.aspx?nNewsID={0}"
    HeaderText="修改"></asp:HyperLinkColumn>
    <asp:TemplateColumn>
    <ItemTemplate>
    <asp:LinkButton ID="lbtnDel" Runat="server" Text="删除" CommandName="Delete"></asp:LinkButton>
    <%# string.Format("aaa.aspx?id={0}&tt={1}&ed={2}",DataBinder.Eval(Container.DataItem,"News_id"),DataBinder.Eval(Container.DataItem,"News_id"),DataBinder.Eval(Container.DataItem,"News_id"))%>
    <%# MakeString(DataBinder.Eval(Container.DataItem,"news_title"),20)%>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    <PagerStyle Mode="NumericPages"></PagerStyle>
    </asp:datagrid><br/>
    <asp:label id="lblPageTotal" Runat="server"></asp:label>&nbsp;&nbsp;
    <asp:label id="lblRecordTotal" Runat="server"></asp:label></TD>
    </TR>
    <TR>
    <TD></TD>
    </TR>
    </table>
    </form>
    </body>
    </HTML>
      

  3.   

    http://dev.csdn.net/develop/article/75/75789.shtm
      

  4.   

    http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/episode.aspx?newsID=1242216
      

  5.   

    如何遍历DataGrid每一行上的模板列CheckBox的属性?
      

  6.   

    假定dataGrid是一个DataGrid对象,且绑定数据,模板列有一个名为“itemCheckBox"的CheckBox用以下语句可以实现DataGrid的全选bool selected=true;
    string itemCheckBoxName="itemCheckBox";
    foreach(System.Web.UI.WebControls.DataGridItem lsItem in dataGrid.Items)
    {
    ((System.Web.UI.WebControls.CheckBox)lsItem.FindControlitemCheckBoxName (itemCheckBoxName)).Checked=selected;
    }
    如要全不选将selected设为false即可
    要在客房端设置Enable属性,可用如下方法实现
    在页面上放一个按扭:ID="setEnable"
    定入如下Javascript:for (var i=0;i<document.all.length;i++)
    {
    if(document.all(i).id.indexOf("itemCheckBox")>-1)
    {
    document.all(i).disabled=true;
    }
    }
      

  7.   

    lshzhou() 的方法中,如何为di付值呀?
      

  8.   

    要在客房端设置Enable属性,可用如下方法实现
    在页面上放一个按扭:ID="setEnable"
    定入如下Javascript:
    document.all("setEnable").onclick=function setEnabled()
    {
    for (var i=0;i<document.all.length;i++)
    {
    if(document.all(i).id.indexOf("itemCheckBox")>-1)
    {
    document.all(i).disabled=true;
    }
    }
    }
      

  9.   

    在模板列CheckBox.Checked=true,为什么判断的结果为false?(用js设置模板列CheckBox的checked属性)