Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to get label text from table reference on database based on TableName and FieldName

Status
Not open for further replies.

engsalah2018

Technical User
Sep 10, 2018
5
EG
SummaryProblem
=============

How to get label text from table reference on database based on TableName and FieldName dynamically from database and show on view createEmployee .

Details Problem

Meaning i need to get label text dynamically from database not static from model

SO that Every Time i need to change text of label i will change it from database depend on reference table

AND No need to change from code .

===============Goal From I post

I need function or any thing general let me get text of label from database because Title of labels on my suituation changed more)

===============Tools Used

Tools used sql server 2012 and visual studio 2017 asp.net core 2.1


Database Have two tables Employee and Reference File(may be increase models and views so that if any thing general is prefer)
====Code==========
Code:
Query Get Data from reference Table

SELECT TableName, FieldName,EnglishtextforLabel FROM ReferenceFile WHERE (FieldName = 'EmployeeId' ) AND TableName = 'Employee'



Models classes Include HRContext

 public class ReferenceFile(have 3 key as composit keys(Code,TableName,FieldName))
    {
        public int Code { get; set; }
        public string TableName { get; set; }
        public string FieldName { get; set; }
        public string EnglishtextforLabel{ get; set; }

    }
 public class Employee
    {
        public int EmployeeId { get; set; }
        public string EmployeeName { get; set; }
        public int EmployeeAge { get; set; }
    }
 public class HRContext : DbContext
    {
        public HRContext(DbContextOptions<HRContext> options)
: base(options)
        { }

        public DbSet<Employee> Employees { get; set; }
        public DbSet<ReferenceFile> ReferenceFiles { get; set; }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            modelBuilder.Entity<Employee>()
               .HasKey(t => new { t.EmployeeId });

            modelBuilder.Entity<ReferenceFile>()
                .HasKey(t => new { t.Code,t.TableName,t.FieldName });
        }
    }


Employee View Create(this static and i dont need . i need view labels get from reference table)

<div class="row">
    <div class="col-md-4">
        <form asp-action="Create">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="EmployeeName" class="control-label"></label>
                <input asp-for="EmployeeName" class="form-control" />
                <span asp-validation-for="EmployeeName" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="EmployeeAge" class="control-label"></label>
                <input asp-for="EmployeeAge" class="form-control" />
                <span asp-validation-for="EmployeeAge" class="text-danger"></span>
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-default" />
            </div>
        </form>
    </div>
</div>
==============
Here i need to get label on view create from table reference not static field name
=======Sample data========
Sample data for ReferenceTable

Code TableName FieldName EnglishtextforLabel
1 Employee EmployeeId Code
2 Employee EmployeeName Name
3 Employee EmployeeAge Age
================
============Result I need==========

labels on view create must be Give me the Result below :

Code

Name

Age
================
 
Im not sure if this is what you need, but there are system tables in SQL that can provide this info.
e.g.
Code:
select name, colid from syscolumns where id = object_id('[COLOR=#f00]YOUR VIEW NAME[/color]') order by colid

Provides you a list of column names in the order they are defined.
 
This can become tricky. Will your form change meaning that the number of inputs etc will increase or decrease, or will you have a static number of inputs and just need to change the label text?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top