Hi,
I'm currently working in a project tha needs to use a Grid, displaying several columns and rows, and its cells.
So far so good ... but if I told you that I need also to format several cells (not all of them) with differente formats and types, there is a problem.
For an example ... In a grid of 24Rows by 10columns, I need to place:
- 4 DropDownList (along columns 1,3,4,8, in rows 15, 20, 21, 23)
- 10 cells formated as number with Background color red
- another 10 cells formated as text, but with font bold, and size 15;
...... and so on ...
Resuming, I need an interface similar to Excel, wich lets me format each cell (regardless its column or row) in several ways, like type (dropdownlist, radiobutton,....), size (height, width), color (background, forecolor), .....
Is there a way of doing it with UltraWebGrid, or similar products of Infragistics?
Thanks,
Paulo Silva
I am using UltraWebGrid Version=6.3.20063.1079.In our website we are using ultrawebgrid and on one page ultrawebgrid having OnSelectedRowsChange="UltraWebGrid1_SelectedRowsChange" event but it is not working on IE8 and Firefox but works fine on chrome and safari.On click of grid selected row it does not fire server side SelectedRowsChange event.Also not any server side event is working for selected row in IE8 and FF.Following is my source code.
<igtbl:UltraWebGrid ID="UltraWebGrid1" runat="server" Visible="False" OnSelectedRowsChange="UltraWebGrid1_SelectedRowsChange" > <Bands> <igtbl:UltraGridBand AllowDelete="No" AllowUpdate="No" > <AddNewRow View="NotSet" Visible="NotSet"> </AddNewRow> </igtbl:UltraGridBand> </Bands> <DisplayLayout AllowColSizingDefault="Free" AllowDeleteDefault="No" AllowRowNumberingDefault="Continuous" AllowSortingDefault="OnClient" HeaderClickActionDefault="SortMulti" Name="UltraWebGrid1" RowHeightDefault="20px" SelectTypeCellDefault="Extended" SelectTypeColDefault="Extended" SelectTypeRowDefault="Extended" StationaryMargins="Header" StationaryMarginsOutlookGroupBy="True" TableLayout="Auto" UseFixedHeaders="false" Version="4.00" CellClickActionDefault="RowSelect"> <GroupByBox Hidden="True"> </GroupByBox> <GroupByRowStyleDefault BackColor="Control" BorderColor="Window"> </GroupByRowStyleDefault> <FooterStyleDefault BackColor="Highlight" BorderStyle="Solid" BorderWidth="1px"> <BorderDetails ColorLeft="White" ColorTop="White" WidthLeft="0px" WidthTop="1px" WidthRight="1px" /> <Padding Left="0px" Right="0px" /> </FooterStyleDefault> <RowStyleDefault BackColor="Window" BorderColor="Silver" BorderStyle="Solid" BorderWidth="1px"> <BorderDetails ColorLeft="Window" ColorTop="Window" WidthLeft="0px" WidthTop="1px" WidthRight="1px" /> <Padding Left="0px" Right="0px" /> </RowStyleDefault> <FilterOptionsDefault AllowRowFiltering="No"> </FilterOptionsDefault> <RowSelectorStyleDefault CssClass="bluetab"> </RowSelectorStyleDefault> <FixedHeaderStyleDefault BackColor="#0000C0"> </FixedHeaderStyleDefault> <ClientSideEvents AfterExitEditModeHandler="UltraWebGridData_AfterExitEditMode" AfterFilterDroppedDown="UltraWebGridData_AfterFilterDroppedDown" AfterRowDeletedHandler="UltraWebGridData_AfterRowDeletedHandler" BeforeEnterEditModeHandler="UltraWebGridData_BeforeEnterEditModeHandler" BeforeExitEditModeHandler="UltraWebGridData_BeforeExitEditMode" BeforeRowDeletedHandler="UltraWebGridData_BeforeRowDeletedHandler" KeyDownHandler="UltraWebGridData_KeyDownHandler" RowSelectorClickHandler="UltraWebGridData_RowSelectorClickHandler" ValueListSelChangeHandler="UltraWebGridData_ValueListSelChange" /> <SelectedRowStyleDefault BackColor="Lavender"> </SelectedRowStyleDefault> <HeaderStyleDefault BorderStyle="Solid" CssClass="bluetab" Font-Bold="True" HorizontalAlign="Left" BorderWidth="1px"> <BorderDetails ColorLeft="White" ColorTop="White" WidthLeft="0px" WidthTop="1px" WidthRight="1px" /> <Padding Left="0px" Right="0px" /> </HeaderStyleDefault> <RowAlternateStyleDefault BackColor="#E8F3FF"> </RowAlternateStyleDefault> <EditCellStyleDefault BorderStyle="None" BorderWidth="0px"> </EditCellStyleDefault> <FrameStyle BackColor="Window" BorderColor="InactiveCaption" BorderStyle="None" BorderWidth="0px" Font-Names="Microsoft Sans Serif" Font-Size="8.25pt"> </FrameStyle> <Pager Alignment="Left" MinimumPagesForDisplay="2" PageSize="20" Pattern="Page [currentpageindex] of [pagecount], [prev] | [next]" StyleMode="PrevNext"> </Pager> <AddNewBox Prompt=""> </AddNewBox> </DisplayLayout> </igtbl:UltraWebGrid>
Please anybody can help me on this issue.
Thanks again dtnixon.
After some time passed around this subject I've decided to make things a little different. As you've said, I would probably need a Templated column for each column, and that I don't want it right now.
So, I'm going to use a simples WebCombo (from Infragistics too) and when I click a certain cell (identified as a Combo) it will show up that WebCombo in the position of the cell clicked.
That kind of solution brings me another question ... how can I get an particular UltraGridCell TOP and LEFT position?
I hope someone else puts there comments in otherwise you'll end up with a narrow view but anyway...
Have you already got the excel reading in part working? This would have to be independent of Infragistics...I presume you would use the office interop dlls to read the file...
You could use a grid to do this, but I think it will likely be way too much overhead and duplication to get it to be so dynamic...If I was attempting this problem I would skip using a grid altogether and use a regular html table, dynamically creating controls as i read through the excel file and putting them into rows and cells...that way you could have have your drop down lists where ever you wanted etc as well as style the cells in what ever way you want...
there's some really good infragistics controls that would complement this such as the web numeric edit control...
Hi dtnixon,
First of all, thanks for your answer.
My problem consists in this:
- I have a excel sheet, with different cells formats, in its cells. In that sheet I have also, several combo boxes and check boxes displayed somewhere in that range.
- I would like to make an interface that represents that sheet like it is in Excel (colors, fonts, combo boxes, checkboxes, ....) in the correspondent cells.
In my webproject I nesse to read the excel cell by cell, and cell by cell also, drawing it to the grid.
Do you think that is possible?
Paulo
Hi Paulo,
The question you asked would take someone who doesn't work for Infragistics a good deal of time to construct and most people won't/don't have the time (or money) to do this...If no one from Infragistics responds, would you be able to break down your problems into smaller questions which the community can answer?
As a starter, and you'll probably have to explore further, it really looks like almost all of your cells could have something different in them....in this case you're probably going to have to use Column Templating which will allow your cells to have different kinds of controls in them. Likely your entire visible grid will be of templated columns and the data columns that drive them will be hidden...
Look into template columns to see if this can help...
During the InitializeRow event, you can setup each cell in each row and use the Row and Column index's to be able to put dropdown lists in specific cells...