User Profile & Activity

Frank P Member
Page
of 8
Posted: November 11, 2011 10:16 AM

Anyone looking at this?

I understand the image has width and height set to 100%. It is the DIV that contains the image that is not the correct size.
In the image attached to my first question, the containing DIV has width=1560 and height=866. These appear to be set in the IS code to the value of the frame containing the dialogbox code.

I have attached a sample showing that the code generated fails when there are one or more IFrame objects in the page. The frame, not the entire page, has the "image" placed over it. This is not the expected behavior for our purpose. I would expect the box to be modal for the application, not the frame.

The image contains a screen shot of the test app.

  • Orange arrow indicates the "div" (as seen with IE Developer Tools) containing the image provided by the WebDialogBox. This DIV does not occur in my code - it is inserted by IS.
  • Green arrow indicates the dimension settings. These are incorrect, as the example shows the "TOP" window has dimensions of width: 1395 and height: 719. (see javascript alerts or document titles in project).
Posted: November 7, 2011 12:14 PM

Jocelyn,

I have the same issue and have posted a question here. Hopefully we will get a proper response.

Posted: November 7, 2011 12:13 PM

So, I let this one go for a while, especially after Fung hijacked my original post, but the scrollbar height issue is appearing more frequently and is quite annoying.

I have finally found the piece of code where Intersoft sets the "ScrollBarHeight". (See attached image)
I am assuming subtracting clientHeight from offsetHeight is zero (0), and adding the 2 is why my scrollbarheight = 2px.

The script (707200431 [dynamic]) in which the image below appears starts out with:

// Generated by Intersoft Script Optimizer V1.5 + Intersoft JS Engine MaxObfuscate(tm) V1.0 
// Generated Datetime : 7/28/2011 1:07:04 PM
// Copyright (c) 2005 Intersoft Solutions.
// Unauthorized decryption/reproduction of any codes contained herein is strictly prohibited and will result in severe civil and criminal penalties .
//**Start Encode**
var WG40 = { COLHEADER: "CH", C...

 

I also found that I am not the only person having the issue that has posted to these boards. See here.

So, please let me know if there is a way I am able to set the scrollbar height or if there is a way to stop your code from modifying it.

Thanks.

Making the following changes to the form:

    <form id="form1" runat="server">
    <div>
        <ISWebGrid:WebGrid ID="WebGrid1" runat="server" DataSourceID="AccessDataSource1"
            Height="600px" UseDefaultStyle="True" Width="800px">
            <LayoutSettings AllowAddNew="Yes" AllowDelete="Yes" AllowEdit="Yes" AllowBatchUpdate="True">
            </LayoutSettings>
            <RootTable DataKeyField="ProductID">
                <Columns>
                    <ISWebGrid:WebGridColumn Caption="ProductID" DataMember="ProductID" DataType="System.Int32"
                        Name="ProductID" Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="ProductName" DataMember="ProductName" Name="ProductName"
                        Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="SupplierID" DataMember="SupplierID" DataType="System.Int32"
                        Name="SupplierID" Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="CategoryID" DataMember="CategoryID" DataType="System.Int32"
                        Name="CategoryID" Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="QuantityPerUnit" DataMember="QuantityPerUnit" Name="QuantityPerUnit"
                        Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="UnitPrice" DataMember="UnitPrice" DataType="System.Decimal"
                        Name="UnitPrice" Width="100px" CustomEditorName="WebInputNET" CustomEditorServerId="WebInput1"
                        EditType="Custom" DataFormatString="£#,##0.00">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="UnitsInStock" DataMember="UnitsInStock" DataType="System.Int16"
                        Name="UnitsInStock" Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="UnitsOnOrder" DataMember="UnitsOnOrder" DataType="System.Int16"
                        Name="UnitsOnOrder" Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="ReorderLevel" DataMember="ReorderLevel" DataType="System.Int16"
                        Name="ReorderLevel" Width="100px">
                    </ISWebGrid:WebGridColumn>
                    <ISWebGrid:WebGridColumn Caption="Discontinued" DataMember="Discontinued" DataType="System.Boolean"
                        Name="Discontinued" Width="100px">
                    </ISWebGrid:WebGridColumn>
                </Columns>
            </RootTable>
        </ISWebGrid:WebGrid>
        <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/Northwind.mdb"
            DeleteCommand="DELETE FROM [Products] WHERE [ProductID] = ?" InsertCommand="INSERT INTO [Products] ([ProductID], [ProductName], [SupplierID], [CategoryID], [QuantityPerUnit], [UnitPrice], [UnitsInStock], [UnitsOnOrder], [ReorderLevel], [Discontinued]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
            SelectCommand="SELECT * FROM [Products]" UpdateCommand="UPDATE [Products] SET [ProductName] = ?, [SupplierID] = ?, [CategoryID] = ?, [QuantityPerUnit] = ?, [UnitPrice] = ?, [UnitsInStock] = ?, [UnitsOnOrder] = ?, [ReorderLevel] = ?, [Discontinued] = ? WHERE [ProductID] = ?">
            <DeleteParameters>
                <asp:Parameter Name="ProductID" Type="Int32" />
            </DeleteParameters>
            <InsertParameters>
                <asp:Parameter Name="ProductID" Type="Int32" />
                <asp:Parameter Name="ProductName" Type="String" />
                <asp:Parameter Name="SupplierID" Type="Int32" />
                <asp:Parameter Name="CategoryID" Type="Int32" />
                <asp:Parameter Name="QuantityPerUnit" Type="String" />
                <asp:Parameter Name="UnitPrice" Type="Decimal" />
                <asp:Parameter Name="UnitsInStock" Type="Int16" />
                <asp:Parameter Name="UnitsOnOrder" Type="Int16" />
                <asp:Parameter Name="ReorderLevel" Type="Int16" />
                <asp:Parameter Name="Discontinued" Type="Boolean" />
            </InsertParameters>
            <UpdateParameters>
                <asp:Parameter Name="ProductName" Type="String" />
                <asp:Parameter Name="SupplierID" Type="Int32" />
                <asp:Parameter Name="CategoryID" Type="Int32" />
                <asp:Parameter Name="QuantityPerUnit" Type="String" />
                <asp:Parameter Name="UnitPrice" Type="Decimal" />
                <asp:Parameter Name="UnitsInStock" Type="Int16" />
                <asp:Parameter Name="UnitsOnOrder" Type="Int16" />
                <asp:Parameter Name="ReorderLevel" Type="Int16" />
                <asp:Parameter Name="Discontinued" Type="Boolean" />
                <asp:Parameter Name="ProductID" Type="Int32" />
            </UpdateParameters>
        </asp:AccessDataSource>
        <ISWebInput:WebInput ID="WebInput1" runat="server" Width="140px">
            <HighLight IsEnabled="True" />
            <EditFormat>
                <ErrorWindowInfo IsEnabled="True">
                </ErrorWindowInfo>
            </EditFormat>
        </ISWebInput:WebInput>
    </div>
    </form>

And the codebehind:

   protected void Page_Init(object sender, EventArgs e)
    {
        SetCulture();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        CultureInfoWrapper CultWrap = new CultureInfoWrapper();
        CultWrap.CultureInfo = SetCulture();
        WebGrid1.LayoutSettings.Culture = CultWrap.CultureInfo;
        WebInput1.CultureInfo = CultWrap;
        WebInput1.DecimalSeparator = CultWrap.CultureInfo.NumberFormat.NumberDecimalSeparator;
    }

    private CultureInfo SetCulture()
    {
        // set "default" culture to en-US
        System.Globalization.CultureInfo projectCulture = new CultureInfo("en-US", false);
        // swap out decimal and grouping separators
        String numDecSep = ",";
        String numGrpSep = ".";
        // change the currency symbol
        String curSym = "£";
        // change the date format
        String dtFormat = "yyyy/MM/dd";
        //String dtMask = "####/##/##";

        projectCulture.NumberFormat.NumberDecimalSeparator = numDecSep;
        projectCulture.NumberFormat.NumberGroupSeparator = numGrpSep;
        projectCulture.NumberFormat.CurrencyDecimalSeparator = numDecSep;
        projectCulture.NumberFormat.CurrencyGroupSeparator = numGrpSep;
        projectCulture.NumberFormat.CurrencySymbol = curSym;
        projectCulture.NumberFormat.CurrencyPositivePattern = 0;
        projectCulture.NumberFormat.CurrencyNegativePattern = 0;
        projectCulture.NumberFormat.PercentDecimalSeparator = numDecSep;
        projectCulture.NumberFormat.PercentGroupSeparator = numGrpSep;
        projectCulture.NumberFormat.PercentPositivePattern = 0;
        projectCulture.NumberFormat.PercentNegativePattern = 0;
        projectCulture.DateTimeFormat.ShortDatePattern = dtFormat;
        // how should long date/time be set?
        projectCulture.DateTimeFormat.LongDatePattern = "MMMM dd, yyyy";
        projectCulture.DateTimeFormat.LongTimePattern = "HH:mm:ss";
       // return culture so it can be set at control level
        return projectCulture;
    }

I am still having issues (see attached images).

  • 1 - Grid before changes are made (Product IDs 6 & 7)
  • 1 - Error that occurs when hitting "Tab" after entry
  • 2 - After entry but before accepting changes
    • Entered 4,5 for Product ID 6
    • Entered 6.7 for Product ID 7
  • 3 - After accepting changes and before hitting refresh
    • 4,50 is what I expect to see
    • 67,00 is what I expect to see
  • 4 - After refresh
    • 45,00 is not what is expected (4,50)
    • 6,70 is not what is expected (67,00)

Removing the mask allows me to enter the data as expected, but "somewhere" in the update process, the values are changed incorrectly.

<!>

Where do I set the decimal separator for the grid?

What is the culture used for "processing" the values in the grid?

How can I set the culture as I have done so it is actually used by the control?

If I set the decimal separator to a comma (",") on a form, it appears to be getting replaced if my thread culture has a different separator.

Thanks.

 

Posted: November 1, 2011 9:59 AM

Any new information regarding this issue?

Questions:

1. Is it possible to do this without a mask? Masking input is not an option for us.

2. Is it possible to do this while assigning the culture during runtime (as in my example)? Your examples only use the culture "id-ID". My users have values stored that determine how they see numerics (Decimal and Group separators are user-selected, Currency Symbol is user-selected).

Problems:

1. When entering a value into a webinput field with the mask, the cursor jumps from the left-most marker to the first marker to the left of the decimal.

2. When pasting into a webinput field with a mask, the value is not pasted.

Will you send me your example above so I might demonstrate these problems in your example?

Anyone looking at this? It ties together several problems about which I have been seeking information.

Posted: October 27, 2011 1:09 PM

I have created a new thread (with sample code) here that indicates the problems I am having with cultureinfo in WebInput and WebGrid.

Regarding #3 above, if I set the CultureInfo on the control, but leave cultureinfo alone on the current thread, the "value" stored in the controls should be stored in the "thread" culture. If I am entering "1,2" in the grid or webinput control, the value should be "1.2".

Yudi - I have created a new thread here to demonstrate this is still not working as expected.

All times are GMT -5. The time now is 4:49 AM.
Previous Next