Base solution for your next web application
Open Closed

Dynamic Controls #3021


User avatar
0
fawad29 created

Hi,

Is there a way in this framework (ASP.NET CORE + ANGULAR) to dynamically create views? Our current product is developed in asp.net using telerik/kendo controls and asp.net wizards.

To use boilerplate terminology, our product is multi tennant with each customer has his own database. Our product is heavily dependant on user input as users need to fill out big forms with 100+ fields. Each customer may use different number of fields in each form i.e. Customer A may have 100 fields in Form A and Customer B may have 50 fields in Form A. We break up each form into logical steps of asp.net wizard and display relevant fields to each customer i.e. Customer A would be able to fill out 100 fields in Form A whereas Customer B would be able to fill out 50 fields in the same Form. Each customer will only see the fields that they are supposed to see. Currently, we handle this by using dynamic controls feature of ASP.net and we store fields information for each customer and form in a database.

Is there a way of implementing above in boiler plat, rather than hard wiring forms, can it be dynamically created depending on each customer? We want to avoid duplication where ever we can to avoid mainatennance issues?

Thanks


9 Answer(s)
  • User Avatar
    0
    ismcagdas created
    Support Team

    Hi,

    If I understand correctly, AspNet Zero and ABP does not have any feature to make your form generation easier

    Thanks.

  • User Avatar
    0
    fawad29 created

    Hi,

    Thanks for your reply.

    If there is no such facility then Is there an easy way of hiding/showing fields on each step of the wizard form?

    Thanks Regards.

  • User Avatar
    0
    fawad29 created

    I am thinking about adding all fields (amalgamation of all fields for all clients) in a table for FormA, i.e. If Customer A has 50 fields and Customer B has 80 fields in Form A, I add all 80 fields in a table and then show relevant fields to each customer OR Is it possible to iterate through above table and create relevant HTML for only those fields which we need to show on the client side? Will this have any unintended consequences in the framework? I understand that all 80 fields need to be created in the entity/entities on the server side.

    Thanks

  • User Avatar
    0
    ismcagdas created
    Support Team

    Hi,

    Independent of ABP or AspNet Zero, you can do it like that. But I think you already know it but the fields which are not common for both customers must be nullable or they must have a default value.

    This is actually a general software problem, maybe you can find a better solution on the web.

    Thanks.

  • User Avatar
    0
    fawad29 created

    Hi,

    It is more to find out if dynamically generated approach will work with ABP framework. I have found following library which takes input in a json format and then creates form dynamically that conforms to angularjs binding etc. So if a form is created dynamically, will it still work with ABP framework. Do I need to consider any issues?

    The second question is that ABP follows code first approach i.e. it creates database from modal, does ABP also work other way around i.e. creating Model at runtime from SQL table.

    Thanks

  • User Avatar
    0
    fawad29 created

    sorry, the link to the library is:

    <a class="postlink" href="https://github.com/joshfire/jsonform/wiki">https://github.com/joshfire/jsonform/wiki</a>

  • User Avatar
    0
    ismcagdas created
    Support Team

    Hi,

    Actually dynamic forms are related to angularJs rather than ABP. As far as I know, it should not be a problem using dynamic forms. If you face any problems, we will be happy to help.

    ABP does not support DB first approach, but since you have the source code, you can implement it in a different way maybe.

  • User Avatar
    0
    jehadk created

    Can we Add new column to Model in the Core Layer in the Code First , using injection assembly.

  • User Avatar
    0
    aaron created
    Support Team

    @jehadk I did not get your question. If you want to ask a different question, please create a new topic.