User Profile & Activity

A Yousif Member
Page
of 29
Posted: March 11, 2011 7:39 AM

Hello Martin.  I figured it's not really a bug but it's as designed.  However, we do need the combo to work in the way described so if you guys can make an adjustment for it that would be great.  I'm sure others will benefit from this too and it makes sense.  Thanks again.

Thanks Yudi.  I appreciate you finding out as it's important for us to know because we do a lot of custom work to fit the grid to our needs which includes parsing the web request.  So now I can modify my code in anticipation for this fix.

Hi Yudi,

Actually our column name is isOnLine so it doesn't matter that the "On" starts the name of is in the middle of it.  For now we're using this workaround since changing the column names is not really convenient as it impacts other tables and stored procedures and triggers and so on.

if (strRequest.Contains("\x02"))
{
    strRequest = strRequest.Replace("\x02","On");
}

This is now the THIRD time I'm having to ask this question as already asked above:

Also, would you find an answer to my original question above, "By the way, why is the '<' character, in the post request, not itself but \x03?"

Would you kindly answer the question?

Posted: March 3, 2011 9:17 AM

Yudi,

Could you update your "answer" post above to use this more effective method of getting the WebCombo's drop down element please?  Thanks.

var DropDownArrowElement = document.getElementById(WebCombo1.ClientID+"_f").childNodes[1];

Your method above actually failed for me as one of the childNodes referenced was null.  It would be nice if an ID was provided on the dropdown element so it can be referenced directly without "guess work" as to where it is.  Maybe a suffix like "_dd" if not already used for the element the way "_f" is used for the frame.  Would you kindly request this as an enhancement addition to Task #929 please?  Thank you.

Posted: March 3, 2011 8:40 AM

Yudi,

Can you please not mark a post an answer until the person requesting it has confirmed that it is indeed an answer?  I can mark the post as answered once I've verified it.

How are you populating the grid?  Rather than "hard code" the column configuration, create the columns dynamically, e.g., Grid.RootTable.Columns.Add and so on, from a data set and also load the data from a data table.

We configure our grids dynamically and load our data from the database.

Can you please have your developers check the grid javascript for "\x02" and see if they do any replace on literals like "On" anywhere?  We do not use this hex character anywhere in our code so we're not infusing this in the post back so it has to be coming from WebGrid.  Your process is obviously what puts together the WebGridRequest request XML, so it has to be happening under the conditions we have which you are not able to reproduce right now.  Thanks Yudi.

[EDIT] Yudi, I wanted to ask.  Are you checking the post back data to make sure the data is not messed up as I reported?  When you sort the column, are you debugging into the code and checking the content of Page.Request["WebGridRequest"] and it looks fine?  Also, would you find an answer to my original question above, "By the way, why is the '<' character, in the post request,  not itself but \x03?"

Posted: February 24, 2011 8:55 AM

Thanks Yudi.  This is a lot of work for something simple that should be in the grid styles to configure.  So would you kindly ask for this to be added as a feature in the next patch or hot fix please?  In the meanwhile we'll use the client-side solution.  Thank you.

Okay, try using a template column.  That's what we use for all our Boolean columns.  The column loads either nothing for false or an image of a check mark when true.  I'd be curious to see if the template is causing this.  Thank you.

We did a few more tests and it looks like the column type has no impact.  It's specific to the string "On" only.  We tried "on" and no problem.  We also tried variations of "Off" in case something was attempting to work on on/off states of some kind and no issues.  So only when "On" is in the column name does it get mucked up.

Posted: February 23, 2011 9:18 AM

Hello Yudi,

Here's an example of our base skin and CSS.  As you can see, we only use the cursor setting twice and it's set to pointer.  So we never set it to hand.

Skin:

<PRISM:PrismVirtualComboBoxBase
    runat="server"
    CssClassFrameDisabled="BaseComboBoxFrameDisabled"
    UseDefaultStyle="false"
    AllowAutoDataCaching="true"
    LayoutSettings-AllowAddItem="false"
    LayoutSettings-AllowNavigationOnMouseWheel="false"
    LayoutSettings-AllowTextWrapping="false" 
    LayoutSettings-AlwaysShowAllRowsOnDropdown="true" 
    LayoutSettings-AlwaysShowHelpButton="false" 
    LayoutSettings-ColumnStyle-CssClass="BaseComboBoxColumn"
    LayoutSettings-ComboMode="SingleColumn"
    LayoutSettings-DropDownStyle-Active-CssClass="BaseComboBoxDropDown"
    LayoutSettings-DropDownStyle-Normal-CssClass="BaseComboBoxDropDown"
    LayoutSettings-DropDownStyle-Over-CssClass="BaseComboBoxDropDown"     
    LayoutSettings-EntryMode="Default"
    LayoutSettings-FrameStyle-Active-CssClass="BaseComboBoxTextBox"
    LayoutSettings-FrameStyle-Normal-CssClass="BaseComboBoxTextBox" 
    LayoutSettings-FrameStyle-Over-CssClass="BaseComboBoxTextBox" 
    LayoutSettings-ResultBoxStyle-CssClass="BaseComboBoxResultBox"
    LayoutSettings-ResultFrameStyle-CssClass="BaseComboBoxResultFrame" 
    LayoutSettings-RowStyle-Active-CssClass="BaseComboBoxActiveRow" 
    LayoutSettings-RowStyle-Normal-CssClass="BaseComboBoxNormalRow" 
    LayoutSettings-RowStyle-Over-CssClass="BaseComboBoxOverRow" 
    LayoutSettings-SelectedRowStyle-CssClass="BaseComboBoxSelectedRow" 
    LayoutSettings-StatusBoxStyle-CssClass="BaseComboBoxStatusBox"
    LayoutSettings-TextBoxStyle-Active-CssClass="BaseComboBoxTextBox" 
    LayoutSettings-TextBoxStyle-Normal-CssClass="BaseComboBoxTextBox" 
    LayoutSettings-TextBoxStyle-Over-CssClass="BaseComboBoxTextBox"
/>

CSS:

.BaseComboBoxDropDown
{
	font-family: Webdings;
	border: 0px;
	background-color: white;
	color: #3f3f3f;
	cursor: pointer;
	width: 0px;
}

.BaseComboBoxDropDownDisabled
{
	font-family: Webdings;
	border: solid 1px #e0e0e0;
	background-color: #ffffff;
	color: #FFEEEE;
	cursor: pointer;
}

.BaseComboBoxFrame
{
	border: solid 1px #ddcccc;
	background-color: white;
	color: #3f3f3f;
	overflow: hidden;
	height: 20px;
	width: 100%;
	margin-top: 0px;
	margin-bottom: 0px;
}

.BaseComboBoxFrameDisabled
{
	border: solid 1px #e0e0e0;
	background-color: white;
	color: #ffeeee;
	overflow: hidden;
	height: 20px;
	width: 100%;
	margin-top: 0px;
	margin-bottom: 0px;
}

.BaseComboBoxColumn
{
	border-width: 0px;
}

.BaseComboBoxInactiveRow
{
    color: Gray;
}

.BaseComboBoxActiveRow
{
    border: 0px;
	font-size: 10pt;
	font-family: Calibri;
	font-weight: lighter;
	color: #666666;
	height: 20px;
}

.BaseComboBoxNormalRow
{
	background-color: #FFFFFF;
	border: 0px;
	font-size: 10pt;
	font-family: Calibri;
	font-weight: lighter;
	color: #666666;
	height: 20px;
}

.BaseComboBoxOverRow
{
	background-color: #CCBBAA;
	border: 0px;
	font-size: 10pt;
	font-family: Calibri;
	font-weight: lighter;
	color: #666666;
	height: 20px;
}

.BaseComboBoxSelectedRow
{
	background-color: #DDCCBB;
	border: 0px;
	font-size: 10pt;
	font-family: Calibri;
	font-weight: lighter;
	color: #666666;
	height: 20px;
}

.BaseComboBoxResultFrame
{
	border-style: solid;
	border-color: #DDCCCC;
	border-width: 1px;
	margin-left: 0px;
	margin-right: 0px;
	top: auto;
	left: auto;
	width: 100%;
	height: auto;
	background: #FFFFFF;
}

.BaseComboBoxResultBox
{
    border: 0px;
    border-collapse: collapse;
	background: #FFFFFF;
	position: relative;
	top: auto;
	left: auto;
	z-index: 9001;
}

.BaseComboBoxStatusBox
{
    border: 0px;
	background-color: #EEEEEE;
	font-size: 10pt;
	font-family: Calibri;
	font-weight: lighter;
}

.BaseComboBoxTextBox
{
    border: 0px;
	font-size: 10pt;
	font-family: Calibri;
	background-color: #FFFFFF;
	color: Black;
	overflow: hidden;
	width: 100%;
	height: inherit;
	top: 0;
	left: -1px;
}
All times are GMT -5. The time now is 12:24 PM.
Previous Next