Forms Data Controls :: Freeze Datagrid Columns / Scroll Bar Movement Getting Slow?
Jul 13, 2010
I have to freeze the first column in a data grid. i have done freezing part but the issue is vertical and horizontal scroll bar movement getting slow. in my data grid each row contains 18 textboxes and 18 image buttons.if number of rows count around 15 then the scroll bars working almost properly.issue in
morethan 15 rows
For freeze i am using CSS.Platform is asp.net1.1
in CSS i am using below given codes.
div#div-datagrid {
width: 200px;
height: 200px;
overflow: auto;
}
/* Locks the left column */
td.locked, th.locked {
position:relative;
cursor: default;
left: expression(document.getElementById("div-datagrid").scrollLeft-1);
}
/* Locks table header */
th {
font-size: 14px;
font-weight: bold;
text-align: center;
background-color:Navy;
color: white;
border-right: 1px solid silver;
position:relative;
cursor: default;
top: expression(document.getElementById("div-datagrid").scrollTop-4);
z-index: 10;
}
/* Keeps the header as the top most item. Important for top left item*/
th.locked {z-index: 99;}
I created a gridview that is made up of 4 gridviews and using a stored procedure to populate it. I create columns at runtime because the number of columns changes all the time.To make the grids editable I am adding template fields at runtime as I create the columns, this is to ensure that a user is able to edit the cells and some foot values update. Reason why I have four grids is to freeze rows and columns like in excel using javascript. The problem is that performance is very bad especially in IE, the grids take a long time to load. I am not sure if this is caused by the data load or the creation of text boxes. see some of the code below for my _aspx page:
I have a situation where I need to freeze first two colums in a datagrid view control on my asp.net app. In windows forms there is a proprty called Freeze which can be enabled / disabled. How can I freeze first two colums in a data grid view control on my ASP.NET page.
I have searched numerous articles for how to accomplish freezing the Header Row of a DataGrid or GridView component being to simply hide the header and then build table cells just above the component to define the columns. But the one that I'd like to get to work is by the use of CSS code. Problem is that this code seems to work for everyone else but it isn't working for me. Here's my Stylesheet code:
[Code]....
When I run my page I get all the styles applied but the header scrolls with all the other rows in the grid.
why this code is probably not working? I am using .NET Framework 3.5 and developing in VSS 2008 which may be why this doesn't work?
I have successfully downloaded sample code from Code Project which works using other techniques as well, but the code was written in .NET 1.1 Framework and VB.NET.
My question is how to freeze specifi columns of Gridview control ? Freeze means...for example say if we are freezing the first column of grid then on scrolling a horizontal scroll bar of the grid will scroll all columns other than the first column. That means the first column will be visible always without any movement. But the first column should move if we use the vertical scroll bar.
I have "Order" object with Columns Ticket,OTP and CustomerName etc.Intially on DataGrid, I'm binding Ticket only , when user clicks on "Column Chooser" button, another windows appears to pickup CustomerName,OTP columns to add specified column dynamically on Datagrid. Environment : Asp.net ,C# with Object Data source
Public Class Order { publc void Order() { } public string Ticket { get { return this.strTicket; } set { this.strTicket = value; } } public string OtpNumber { get { return this.strOtpNumber; } set { this.strOtpNumber = value; } } public string CustomerName { get { return this.strCustomer; } set { this.strCustomer = value; } } } }
I am upgrading a classic asp page, the page uses response.write to make a table, as soon as a null value comes up for a month the columns of the grid then stop. The sql is below
SELECT sName, Strategy, Sum(case when Month([Date])=1 then Rtn else null end) as Jan, Sum(case when Month([Date])=2 then Rtn else null end) as Feb, Sum(case when Month([Date])=3 then Rtn else null end) as Mar, Sum(case when Month([Date])=4 then Rtn else null end) as Apr, Sum(case when Month([Date])=5 then Rtn else null end) as May, Sum(case when Month([Date])=6 then Rtn else null end) as Jun, Sum(case when Month([Date])=7 then Rtn else null end) as Jul, Sum(case when Month([Date])=8 then Rtn else null end) as Aug, Sum(case when Month([Date])=9 then Rtn else null end) as Sep, Sum(case when Month([Date])=10 then Rtn else null end) as Oct, Sum(case when Month([Date])=11 then Rtn else null end) as Nov, Sum(case when Month([Date])=12 then Rtn else null end) as Dec FROM Chess
If this is run in oct i only have data from jan -0ct , how do i not display nov and dec so that its dynamic?
i need to extend this so that i can inlcude another column from a different table. so let's say i have a colume in table Price and the column i want to display in datagrid header is cost, how can i do this? there is code backend but could i simply code the below to include this column?
I put in my page 1 table like grid with this style:
header of columns are select from table persons(so number of them are dynamic)
header of each row are select from table goods(so number of them are dynamic)
in table , in each cell,show the price & the date ,that this person,buy this goods
for example,in may 2008 ,Jack&sara buy pencil.so in front of pencil&buttom of jack we write his price and in front of pencil&buttom of sara we write her price.
so this table has 2 column & 1 row
in may 2009,
Jack&sara buy pencil.so in front of pencil&buttom of jack we write his price and in front of pencil&buttom of sara we write her price.
and jhon buy pen & suzzan buy book so this table has 4 column & 3 row
Price Date
Price Date
Price Date
Price Date
Pencil
Pen
book
then I want in each cell,I have 1 CHECKBOX that user of my program,checked each on that want. how can I design my page?
is ther any component?or I must create <TABLE> dynamically
I have a datagrid which displays a list of user data, such as name, his or her status, age. I have created a list of rows of user data but where the column shows status for example Single, Married, i want it to create a dropdown list where i can easily change the user status by selecting it from a dropdown and clicking the update button at the top of the datagrid. The update button will update all records that have been changed not just from the dropdown. I assume the dropdownlist requires a columnbinding event but i can't find any straight forward tutorials.
I have a datagrid whose columns are autogenerated (based on the results from an SQL SELECT query). However, I need to retrieve values from certain cells across the datagrid, using the following code to step through the results.
[Code]....
I need to specify all my columns using TemplateField?
Here is the situation:I have a Datagrid which is going to display a number of rows. I want to click a button on the datagrid and have the following occur
open a row underneath the row clicked, without hiding or replacing that row Open this row so that it spans all of the columns as one continuous row where i can put form fields and/or just data formatted as I would like and not just in columns.Be able to close that new row. While I do most of my work in VB.NET, don't think that is a requirement for answering this.I have managed to currently take the first column (with the "Edit" button) and when clicked to Hide the rest of the cells in that row Expand the button column to run all the way across the table Unfortunately I loose the clicked row's data, and I've only started getting this to work so I haven't tried too much, or getting data to bind to fields "on the fly"
I have a datagrid with two columns ( File Name, and Date Created ). I want them to be sorted when clicked (ASC or DESC). I went into the design view and added the allow sorting feature and added the column names, so they are clickable in the header of the data grid. I also already added the onsortcommand as well.
My datagrid is named dgFileList and the onsortcommand method is named dgFileList_SortCommand.
The procedure that is already loading on page load is a DataSet. (where I think my problem is)I dont have anything in the back end beside the dgFileList_Sortcommand method. From what I have read, it seems like I can't use a DataSet to be sorted...I'm using visual studios 2005, C#, not VB.
I also have a working application that popukates my datagrid with valid data rows from my DataBase. What I cant figure out is how to get each of the hyperlink lables to NAVIGATE to the correct and corresponding aspx page!
For example I have 5 rows in the datagrid and each row has its own hyperlink, each row contains contact and a short profile on 5 diffrent companies. For example when i click on let say row 3 that has (eg) Jimmy's Big Prawn's Restaurant listed in the the datagrid, I want to be navigated to a webform page dedicated to Jimmy's Big Prawn Restaurant.
[Code]....
I am guesing it has to do with the bolded text above, but "details.aspx" is just an empty webform, I would like the hyperlink to point to (eg) JimmBigPrawnRestaurant.aspx.
I would like to know how I can freeze the Header Row using DataGrid with AJAX in IE8. I've already tried using CSS but this does not work with IE8 unless I switch it to compatiblity mode. I have more than 100+ users so this is not feasible.
I have a gridview where I display (from left to right) plant id, product no and month/year and there after a column with qty for every day on the month.
The gridview is located inside a panel that has a horizontal scrollable property set that lets user scroll from left to the right. This works fine.
Now, they are asking if it is possible somehow to freeze plant id and product no? Currently when they scroll past day 10 then plant id and product no is not longer visible and making it hard to see what line you are on.