Hi Frank
Fixed with V 2.1.12
Thanks
Ewan
See attached sample.
Thanks Ewan,
also for providing more information by mail.
We could reproduce and are working on a fix.
I´ll keep you updated.
Best regards
Frank
Hi Huynh,
a simple merge of 2 pdf memory streams is not possible.
There is a lot of alternate solutions available.
Find one here for example:
Best regards
Frank
Hi,
wisej.web and wisej.core have been consolidated into wisej.framework
when we moved from Wisej 1.x to Wisej 2.x
For more information see here:
https://wisej.com/docs/2.0/html/UpgradeFromWisej1.htm
Best regards
Frank
Hello Frank,
thank you very much for your answer.
I forgot to mention that we tried the approach you mentioned, but were looking for an alternative way for the following reasons
As far as i am aware, we would need to handle the HashChanged Event to register a user changing the hash value to change the displayed page accordingly.
Are there any other ways to accomplish our goal, or is using the Hashvalue the only option?
Hi Florian,
thanks for your interest in Wisej.
Did you take a look at our DeepLinking example at GitHub:
https://github.com/iceteagroup/wisej-examples/tree/2.0/DeepLinking
It shows the concept of having different URL entry points and
I hope that gives you a direction for your migration.
Please let us know if you encounter any further questions.
Best regards
Frank
Hi Ulisses,
There are a few ways to add a new font.
You can add it directly to the theme code under the “font” section, something like this:
"font": { "size": 18, "family": ["dancing", "courier new"], "bold": false, "italic": false, "sources": [ { "family": "Dancing", "source": [ "http://fonts.gstatic.com/s/dancingscript/v7/DK0eTGXiZjN6yA8zAEyM2WrfpCc_r9-5ZnZPBmoO4Sk.eot", "http://fonts.gstatic.com/s/dancingscript/v7/DK0eTGXiZjN6yA8zAEyM2Ud0sm1ffa_JvZxsF_BEwQk.woff2" ] }] }
Alternatively,
You can add the fonts through the ThemeBuilder in Wisej. I’ve attached some screenshots showing the process.
Please also check out the Wisej documentation on ThemeFonts for more details: https://wisej.com/docs/2.0/html/ThemeFonts.htm
Let me know if you have any other questions!
Best,
Levie
Hi
Its just a simple page with a grid, Im using vstudio 2015, with Wisej with runtime version v4.0.30319.
Hi,
can´t reproduce this issue.
Can you please tell me your Visual Studio and Wisej version and describe the steps
to run into that problem ?
Or can you send me the sources ? If you don´t want to post here, you can send it to frankATiceteagroup.com
Best regards
Frank
Look at the user agent returned by the device using Application.UserAgent. Looks like some Huawie devices return a user agent without “Mobile” in it: See https://github.com/faisalman/ua-parser-js/issues/351
See if there is “MediaPad” or “HUAWEI”. You can add multiple options to the “userAgent” regex:
“userAgent”: “(Mobile|MediaPad|HUAWEI)”
Use this ClientProfiles.json put in your project and set “Copy to Output Directory” to “Copy always”. It must be in /bin.
{
"profiles": [
{
"name": "Phone",
"userAgent": "mobile"
}
]
}
Hi Luca,
I think there is a little bug
if I have the smarthone (Samsung Note 9) potrait,
1) I open the page, then e.CurrentProfile.MaxWidth is right
2) I rotate to landscape and the e.CurrentProfile.MaxWidth return 0
3) if I refresh the page return the right width
this problem in the pc browser do not happen, only on Firefox android browser (I have not test IPhone)
Android Chrome do no have this problem
Hi Huynh,
do you intend to display the texts that come along with the Bing wallpaper images ?
Best regards
Frank
Thank you Frank!
it was my mistake! I had the widget inside a user control 🙂
all ok
Hi Stanislaw,
this is certainly possible with Wisej.
For the authentication you can check Application.Session and navigate to a login window if needed.
For the URL handling you might want to take a look at our DeepLinking example on GitHub:
https://github.com/iceteagroup/wisej-examples/tree/2.0/DeepLinking
Please let us know if you have any further questions.
Best regards
Frank
Hi Cristian,
you use Call or Eval, see here:
https://wisej.com/docs/2.0/html/JavaScript.htm
Best regards
Frank
Hi Andrew,
One issue is related to the framework, not exactly a bug, but it can be improved on our side. This is what’s happening.
Your code uses a static data source, a true static shared among all sessions. When you change a field in the data source it fires a number of events that allow the data-bound controls to update their content, in this case the data grid. However, being static, the event is originated by the the thread that modified the property. When the handler is called out-of -bound (from a different thread) it doesn’t have the context (session) so the changes to the grid are not sent to the browser. You need another round of changes to update the client.
One way to solved it is to attach to the BindingComplete event and make the grid reload it’s content (dataGrid.BeingUpdate(); dataGrid.EndUpdate()). But this will cause all the cells to be reloads also when you change only one. Our data grid has a special optimization that allows it to update a single cell value (up to a threshold after which it refreshes).
A better way is to create a new BindingSource like this:
public class MyBindingSource : BindingSource
{
IWisejComponent context;
public MyBindingSource(object dataSource) : base(dataSource, null) { }
protected override void OnListChanged(ListChangedEventArgs e) {
if (this.context == null)
this.context = Application.Current;
Application.RunInContext(this.context, () => { base.OnListChanged(e); });
}
}
This will save the current context when created, like this:
dataGridView1.DataSource = new MyBindingSource(_listForDGV); dataGridView1.DataBindingComplete += DataGridView1_DataBindingComplete;
Now each grid has it’s own BindingSource with the correct context but it still uses the same shared data source.
Then in DataGridView1_DataBindingComplete you can do simply this:
private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
{
Application.Update(this);
}
Basically now all the grids will get the updates automatically in the correct context since they share the same data source through a BindingSource that fires the OnListChanged event in context also when being generated from another request’s thread (which can be a different session).
This will be improved internally in all data bound controls in Wisej allow using static data sources more easily.
HTH
The CurrentProfile object refers to the current profile that matched the device out of the ClientProfiles.json – it’s to the description of the device. To read the properties of the device use Application.Browser.
If the matched profile doesn’t specify the landscape property it’s left undefined (null, it’s a int?). When set to true (or false) it adds a matching condition to the profile meaning that that the height > width or viceversa, otherwise it’s ignored.
Client profiles are matched from to bottom and the first that matches is used (it’s not a best match selection). You can define a custom set of rules, add a new ClientProfiles.json to your app (Add -> New Items -> templates) to override the built-in one:
{
"profiles": [
{
"name": "Phone",
"maxWidth": 450
},
{
"name": "Phone (Landscape)",
"landscape": true,
"maxWidth": 600
},
{
"name": "Tablet",
"maxWidth": 800
},
{
"name": "Tablet (Landscape)",
"landscape": true,
"maxWidth": 1024
}
]
}
HTH
Hi,
are you 100% sure that this is caused merely by going from 2.1.5 to 2.1.9 ?
Can you please check if anything else changed in your environment / settings ?
You can find a few pointers to check here:
https://wisej.com/support/question/httpcontext-current-session-is-null
Thanks in advance.
Best regards
Frank
