I have question.
I am programming a example Project.
I have a EDT called Joining and this EDT is of type Date.
I did put it in my table employment and in my form employment.
Now I want to have this field, that when entry one date for a dataset that I can never edit it again.
How do I do that ?
Do I have to write Code ?I guess.
With Kind regards
Khashayar
On your table Employment, select the field and set the AllowEdit=No and leave the AllowEditOnCreate=Yes.
This will let users enter the date when they're creating the record, but not edit after.
You can not set this at the EDT level.
Related
I need to create simple query which will show all contracts which will expire in next 3 months. I know how to do that with SQL, but how to do that in Visual Studio when I create query. I added data source Contract table. Added range. Column where is date about expiring is VALIDTO.
So, something to write up in value, or how to do that ?
Solved with two ranges on VALIDTO column. Used (MonthRange(0,3)) with (Day(0)) formulas.
I have the following problem.
The LogisticsPostalAddress form is displaying the StreetInKana field. (this holds special characters used in Japan". The underlying EDT extends an EDT which has 'JPN' in the CountryRegionCodes property. The company I am using has primary address with country'GBR'. My understanding is that this should mean the field would be hidden, but it is not. So far we have made very few changes to standard AX code, and nothing that would be related. So either I have set something up wrong, or these fields are meant to be displayed, which would surprise me. Any ideas?
You have to change the property CountryRegionContextField of the corresponding control to point to the field which has CountryRegionCodes value set (either on table level, or EDT level).
I guess you have to explicitly set this property because you can have different forms with the same table as data source, but restrict access only on some of them.
I have created a custom meta field to be used within a custom post type, that is to be the start time of a series of events. However, I would like to run my query_posts off of this value, but it is not formatted in date/time format, therefore '1:00pm' shows up in the list before '9:00am'. Is it possible to format this value in the db or at least prior to setting the 'meta_key' meta_value in my arguments for my query?
I've come across this problem a few times before. I'm going to use my most recent example because it sounds like it's along the same lines of what you're doing.
I had to create an event calendar using WordPress. In my custom post type, I had two fields: a start time and an end time. Instead of just using "1:00pm" as the start and end times, I also included the dates. This would allow for events that would last an entire weekend like a concert or a race.
What I'm getting at here, is once the user submitted that the event started on January 3, 2012 at 8:00 am and ended on January 3, 2012 at 10:00 am, I saved both of the variables using strtotime(). If you're not familiar with this function, you can read more about it here: http://us.php.net/manual/en/function.strtotime.php.
I also suggest using the datetime picker add-on for jQuery UI http://trentrichardson.com/examples/timepicker/.
I hope this helped. I know I was a little vague at times. If you need me to explain anything in more detail, don't be afraid to ask.
In my model, I have a departure_date and a return_date.
I am using a text_field instead of the date_select so that I can use the JQuery datepicker.
My app is based in the US for now but I do hope to get international members.
So basically this is what is happening. The user (US) types in a date such as 04/01/2010 (April 1st).
Of course, MySQL stores it as a datetime such as 2010-04-01...
Anyway, when the user goes to edit the date later on, it shows "01/04/2010" because I am using a strftime("%m/%d/%Y) which doesn't make sense....so it thinks it is January 4th instead of the original April 1st.
It's like the only way to accurately store the data is for the user to type in: 2010-04-01
I hope all of this makes sense. What I am really after is a way for the user to type in (or use the datepicker) a date in their native format.
So someone in Europe could type in 01/04/2010 for April 1st but someone in the US would type in 04/01/2010.
Is there an easy, elegant solution to this?
Thanks for any suggestions.
I have been confronted to the same issue lately.
My website is based in france, so i have to store date as a french date.
I also use a Jquery DatePicker.
To do this, i set the I18n.locale to the visitor's country. For exemple :
I18.locale = :fr
You can do this with a before_filter into your application_controller
Then, into your locales/fr.yml you can define the way you want to show the date
And finally, into your view, you can set the date format view, with the JqueryDatePicket properties.
If i remember well, this methode was something like that:
$.datepicker.formatDate('dd-mm-yyyy');
You can find it anyway on the datepicker documentation.
And this format can be found for exemple into your locale/fr.yml
And that's all !
Hope this will help !
I have a table that contains three columns.
"UserId" type-nvarchar
"PostAuthorId" type-nvarchar
"Post" type-text
This table will contain "wall" posts like in facebook for each user's page. I am going to use a gridview on each user's page to display the posts. The issue is I want to display them with the latest(most current) post being first and the earliest post being last.
I have never used autoincrement before and I am not sure if that is the answer. If it is, I do not know how to use it. I thought about adding a date posted column and then ordering by date.
If I end up using the date column, I could also display the date on the post. Is there a way to convert the date to a readable format?
What is the best way of implementing this type of ordering?
If you use AutoIcrement the first record will start with 1 and each record will increment from there. (default setting)
If you want to sort them by newest first do an ORDER BY ID DESC
I would suggest making a column called wallPostID then setting that to AutoIncrement and also your Primary Key
Date Formating:
If you are displaying this data in a gridView
Go to Edit Columns on your grid view
CLick on the Date field under "Selected Fields" on the bottom left
Under "BoundField properties" on the right Go to Data -> DataFormatString
{0:d} will display as 1/1/2010
This site has more info in string formatting
http://msdn.microsoft.com/en-us/library/fht0f5be.aspx
A datetime column would definitely work for something like this. Assuming you are using MS-SQL, you can also attach a default value to the column using a built-in function like GETDATE(). That way, you only have to input the data that matters and the database will take care of adding the datetime column.
For converting a datetime to a readable format try:
DateTime postDate;
string value = postDate.ToShortDateString();
You should always use an ID field that auto increments. Can also be used as your PK
I would suggest the DateTime field rather than the autoincrement simply because it will not only serve as an effective Sort field, it also preserves information that you may well want to display. If you want the most recent first you'll sort using the Date and a "DESC" modifier:
Select ... Order By [Date] DESC;
When you retrieve the data, you can retrieve it as a DateTime and modify it using C#. You can use "ToShortDateString()" as suggested by mdresser if you just wish to show the date or ToString("...") if you wish to show the time as well. You can also use SQL to convert it into a string before retrieving it:
convert(Varchar(10), #mydatetime, 101)
If you look in MSDN you'll see the various conversion codes (101 is the code used above) that can be used to translate the date in various ways.
UPDATE: You may want to use an autoincrementing field for your application for reasons other than your expressed need to sort wall entries. They are easy to use - just mark the field as an Identity if using SQL Server (other DBs are similar). As far as using them in your program, just think of the field as an Int field that you never have to set.
Now, why would you use a auto-incrementing field? Perhaps the most straightforward reason is so that they give you have an easy way to identify each record. For example, if you permit people to alter or delete their wall entries, the auto-incrementing field is ideal as it gives you a way to easily look up each record (each record will be assigned its own, unique value). You might put an "x" next to the record like StackOverflow does and make it a call back with the UID (auto-increment) value. Note that you should set up your primary key on the UID field if you'll be doing this.
Now, if you find them useful for this reason then you could also sort by the UID. I would still store the date so that you can provide Date and Time feedback as to when an entry was made on the wall but this would no longer be your indexed or sorted field.