Возможна установка фиксированного заголовка и полосы прокрутки в datagrid?datagrid с фиксированным заголовком и полосами прокрутки
Как я могу это сделать?
благодаря
Возможна установка фиксированного заголовка и полосы прокрутки в datagrid?datagrid с фиксированным заголовком и полосами прокрутки
Как я могу это сделать?
благодаря
есть в этой записи Codeproject: Fixed Header in ASP.NET DataGrid
Я работал над этим некоторое время, и отказались от принятия CSS работать во всех браузерах. Простой, хотя и не элегантный способ достичь этого - просто иметь две разные таблицы, ширина столбцов которых совпадает. Первая таблица содержит заголовки, а вторая содержит контент и прокручивается.
Я использовал jQuery, чтобы все ширины столбцов совпадали.
Для полного описания см этого поста: Scrollable DataGrid table with Fixed Header with jQuery
Чтобы решить эту проблему, я поместил вторую DataGrid над оригиналом, я размером всех столбцов в обоих DataGrids одинаково. В datagrid, который показывает данные, я устанавливаю заголовок, который не отображается. В коде позади я связал верхний datagrid с пустой таблицей данных и установил связанные поля, чтобы показать заголовок, когда пуст.
<div style="padding-bottom:2px">
<asp:GridView id="RoleListHeader" runat="server" AutoGenerateColumns="false" showheaderwhenempty="True" showheader="true" height="20px" width="350px" selectedrowstyle-height="20px" rowstyle-height="20px" headerstyle-height="10px" forecolor="#ff333333" backcolor="White">
\t <columns>
\t \t <asp:TemplateField ItemStyle-Width="23">
<ItemTemplate>
\t <asp:CheckBox></asp:CheckBox>
\t \t \t \t \t </ItemTemplate>
</asp:TemplateField>
\t \t <asp:BoundField DataField="SystemDesc" HeaderText="Role Description" ReadOnly="true" ItemStyle-Width="174"></asp:BoundField>
\t \t <asp:BoundField DataField="EndDate" HeaderText="EndDate" ReadOnly="true" ItemStyle-Width="153"></asp:BoundField>
\t </columns>
</asp:GridView>
</div>
<div style="max-height:300px;overflow:auto">
<asp:GridView id="RoleList" runat="server" AutoGenerateColumns="false" showheaderwhenempty="True" showheader="false" height="0px" width="350px" selectedrowstyle-height="20px" rowstyle-height="20px" headerstyle-height="10px" forecolor="#ff333333" backcolor="White" rowstyle-horizontalalign="Center" rowstyle-borderstyle="Solid" rowstyle-bordercolor="#ff404040">
\t <columns>
\t \t <asp:TemplateField ItemStyle-Width="23">
<ItemTemplate>
\t <asp:CheckBox runat="server" OnCheckedChanged="GVChkBox_CheckChanged" AutoPostBack="true"></asp:CheckBox>
\t </ItemTemplate>
</asp:TemplateField>
\t \t <asp:BoundField DataField="SystemDesc" HeaderText="Role Description" ReadOnly="true" ItemStyle-Width="174"></asp:BoundField>
\t \t <asp:BoundField DataField="EndDate" HeaderText="EndDate" ReadOnly="true" ItemStyle-Width="153"></asp:BoundField>
\t \t <asp:BoundField DataField="ADHSystemId" ShowHeader="false"></asp:BoundField>
\t </columns>
</asp:GridView>
</div>
выражение (this.offsetParent.scrollTop); имеет проблемы с firefox и chrome –
Также код, указанный на этом сайте CodeProject, не работал для меня в Firefox. Я все еще ищу ответ. – bgmCoder