Поиск и отображение записей из разных таблиц с использованием одного поля поиска - PullRequest
0 голосов
/ 22 октября 2019

У меня есть 4 таблицы SQL с похожими полями данных. Причина их разделения заключается в том, что они содержат данные из разных мест. Я реализовал окно поиска, которое может извлекать и отображать записи из этих таблиц. Тем не менее, есть четвертая таблица с совершенно разными полями. Я попытался реализовать то же самое на ней, но безуспешно.

Я попытался создать таблицу в той же функции if, но внутри другого @foreach, учитывая, что они находятсяв той же модели класс

public class MemberViewModel
{
    public string Client { get; set; }
    public string PolicyNo { get; set; }
    public Nullable<short> PolicyType { get; set; }
    public string InsurerName { get; set; }
    public Nullable<System.DateTime> RenewalDate { get; set; }
    public string Status { get; set; }
    public string Telephone { get; set; }
}

public class DisplayData
{
    public List<MemberViewModel> Search(List<string> keywords)
    {
        StringBuilder sqlbuilder = new StringBuilder();

        sqlbuilder.Append("  select * from SingleView  where");

        foreach (string item in keywords)
        {
            sqlbuilder.AppendFormat("([Telephone] like '%{0}%' or     [Client] like '%{0}%' or [PolicyNo] like '%{0}%' or [PolicyType] like '%{0}%') and ", item);
        }
        string sql = sqlbuilder.ToString(0, sqlbuilder.Length - 5);

        return QueryList(sql);
    }

Это вид

@if (ViewBag.Message == true)
    {
        <label id="lblMessage" style="color: #6fcdcd;">Enter Phone Number</label>
    }
    else
    {
        if (Model != null)

        {

            if (Model.Count() != 0)

            {
                <div class="container">
                    <table id="example" class="table table-bordered table-hover table-responsive">
                        <thead class="thead-dark">
                            <tr>
                                <th>Client</th>
                                <th>Policy No</th>
                                <th>Policy Type</th>
                                <th>Insurer Name</th>
                                <th>Renewal Date</th>
                                <th>Status</th>
                                <th>Telephone</th>
                            </tr>
                        </thead>

                        @foreach (var item in Model.OrderByDescending(m => m.Client))
                        {

                            if (item.Status == "CURRENT")
                            {
                                @:
                                <tr style="background-color:#13994a  ;text-align:center;font-family:Calibri">
                                    <td>
                                        @Html.DisplayFor(modelitem => item.Client)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelitem => item.PolicyNo)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelitem => item.PolicyType)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelitem => item.InsurerName)
                                    </td>
                                    <td>
                                        @Html.DisplayFor(modelitem => item.RenewalDate)
                                    </td>

                                    <td>
                                        @Html.DisplayFor(modelitem => item.Status)
                                    </td>

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете использовать некоторый список с типом объекта, а затем использовать его для каждой таблицы, как вы хотите, например:

List<object> l = new List<object>();
        l.Add("sssss");
        l.Add(1);
        l.Add(new SomeObject()
        {
            Id = 1,
            LastNane = 23,
            Name = 1,
            RegDate = DateTime.Now
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...