2012-01-15 38 views
1

我想在我的项目中使用这个不错的文章(Freezing GridView header and columns while scrolling rest of the content),但我失败了。我遵循了帖子中提到的所有步骤,但仍然没有得到它,我不知道为什么。为什么我无法在此GridView中获得CSS和JQuery效果?

我得到了GridView的数据,但没有CSS和JQuery效果。我得到了错误的符号上的IE浏览器左下角它说:

Char: 9

Error: '0.offsetHeight' is null or not an object

Code:0

此外,有时它给了我下面的错误:

Char: 11

Error: Object doesn't support this property or method

Code:0

顺便说一下,当我删除了在ASP.NET代码中存在以下CSS样式的内联JavaScript,我没有得到这样的错误符号 我的ASP.NET代码:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
     <script src="js/jquery.fixedtable.js" type="text/javascript"></script> 
     <%--This is for the GridView--%> 
     <style type="text/css"> 

     .fixedColumn .fixedTable td 
     { 
      color: #FFFFFF; 
      background-color: #5097d1; 
      font-size: 14px; 
      font-weight: normal; 
     } 

     .fixedHead td, .fixedFoot td 
     { 
      color: #FFFFFF; 
      background-color: #5097d1; 
      font-size: 14px; 
      font-weight: normal; 
      padding: 5px; 
      border: 1px solid #187BAF; 
     } 
     .fixedTable td 
     { 
      font-size: 10pt; 
      background-color: #FFFFFF; 
      padding: 5px; 
      text-align: left; 
      border: 1px solid #CEE7FF; 
     } 
    </style> 

    <script type="text/javascript"> 
     $(document).ready(function() { 

      $(".tableDiv").each(function() { 
       var Id = $(this).get(0).id; 
       var maintbheight = 355; 
       var maintbwidth = 760; 

       $("#" + Id + " .FixedTables").fixedTable({ 
        width: maintbwidth, 
        height: maintbheight, 
        fixedColumns: 4, 
        // header style 
        classHeader: "fixedHead", 
        // footer style  
        classFooter: "fixedFoot", 
        // fixed column on the left  
        classColumn: "fixedColumn", 
        // the width of fixed column on the left  
        fixedColumnWidth: 100, 
        // table's parent div's id   
        outerId: Id, 
        // tds' in content area default background color      
        Contentbackcolor: "#FFFFFF", 
        // tds' in content area background color while hover.  
        Contenthovercolor: "#99CCFF", 
        // tds' in fixed column default background color 
        fixedColumnbackcolor: "#5097d1", 
        // tds' in fixed column background color while hover. 
        fixedColumnhovercolor: "#99CCFF" 
       }); 
      }); 
     }); 
    </script> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:testConnectionString %>" 
            SelectCommandType="StoredProcedure" SelectCommand="kbiReport" 
            FilterExpression="[DivisionName] like '{0}%'"> 

        <FilterParameters> 
         <asp:ControlParameter ControlID="ddlDivision" Name="DivisionName" 
               PropertyName="SelectedValue" Type="String" /> 
        </FilterParameters> 

        <SelectParameters> 
         <%--ControlParameter is linked to the HiddenField above to generate different GridView based on different values 
          of GroupID--%> 
         <asp:ControlParameter ControlID="HiddenField1" Name="GroupID" PropertyName="Value" DefaultValue=3 /> 
        </SelectParameters> 
       </asp:SqlDataSource> 
<%-- 
       <div style="width:700px; overflow:auto; overflow-y:hidden;">--%> 
       <div id="divGrid" class="tableDiv"> 
       <asp:GridView ID="GridView1" runat="server" 
           AllowSorting="True" 
           CellPadding="3" 
           DataSourceID="SqlDataSource1" 
           ClientIDMode="Static" class="fixedTables" Width="600" AutoGenerateColumns="true" 
           AlternatingRowStyle-CssClass="alt" 
           RowStyle-HorizontalAlign="Center" 
           OnRowDataBound="GridView1_RowDataBound" OnPreRender="GridView1_PreRender" OnRowCreated="GridView1_RowCreated" 
           OnDataBound="GridView1_DataBound"> 
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
        <HeaderStyle Font-Bold = "true" ForeColor="Black"/> 
        <Columns> 
        </Columns> 
       </asp:GridView> 

在后台代码:

protected void Page_Load(object sender, EventArgs e) 
    { 

     //Repeater1.DataBind(); 
     GridView1.DataBind(); 
     GridView1.HeaderRow.TableSection = TableRowSection.TableHeader; 

    } 

回答

1

最后,我能解决这个问题。事实上,本教程并没有提到,我们需要添加到这是更JavaScript文件: * sh_javascript.js * & * sh_main.js *为完成in this demo

+0

非常感谢!!!! – Rahma 2012-04-20 15:14:17

相关问题