флажок с eval в виде сетки - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь создать флажок в виде сетки, этот флажок должен быть установлен, если данные равны 1, но он вызывает ошибку преобразования данных, по-видимому

public class DTO_GRV_ANTECEDENTES_PERSONALES
{
    public string vPER_RUT { get; set; }
    public string PER_DV { get; set; }
    public string PER_NOMBRES { get; set; }
    public string PER_APELLIDO_PATERNO { get; set; }
    public string PER_APELLIDO_MATERNO { get; set; }
    public string TELEFONO { get; set; }
    public string CORREO { get; set; }
    public string ANT_CURRICULUM { get; set; }
    public string ANT_CERT_ANTECEDENTES { get; set; }
    public string ANT_CERT_TITULO { get; set; }
    public string ANT_CERT_SALUD { get; set; }
    public string ANT_CERT_AFP { get; set; }
    public string ANT_FOTOCOPIA { get; set; }
}

public static List<DTO_GRV_ANTECEDENTES_PERSONALES> Consultar_gvrAntecedentesPersonales(string rutCliente)
{
    List<DTO_GRV_ANTECEDENTES_PERSONALES> list = new List<DTO_GRV_ANTECEDENTES_PERSONALES>();
        using (MMControlDBContext context = new MMControlDBContext())
        {
            list = (from PERSONA per in context.PERSONA
                    join CONTRATO cont in context.CONTRATO
                     on per.PER_FICHA_COD equals cont.CTR_FICHA_COD
                    join ANTECEDENTE ant in context.ANTECEDENTE
                    on cont.CTR_ID equals ant.ANT_CTR_ID
                    join CLIENTE cli in context.CLIENTE
                    on cont.CTR_CLI_RUT equals cli.CLI_RUT
                    join EMPRESA empre in context.EMPRESA
                    on cont.CTR_EMP_RUT equals empre.EMP_RUT
                    where cli.CLI_RUT == rutCliente
                    orderby per.PER_RUT
                    select new DTO_GRV_ANTECEDENTES_PERSONALES
                    {
                        vPER_RUT = per.PER_RUT + "-" + per.PER_DV,
                        PER_NOMBRES = per.PER_NOMBRES + " " + per.PER_APELLIDO_PATERNO + " " + per.PER_APELLIDO_MATERNO,
                        TELEFONO = per.PER_FONO_MOVIL,
                        CORREO = per.PER_EMAIL,
                        ANT_CURRICULUM = ant.ANT_CURRICULUM,
                        ANT_CERT_ANTECEDENTES = ant.ANT_CERT_ANTECEDENTES,
                        ANT_CERT_TITULO = ant.ANT_CERT_TITULO,
                        ANT_CERT_SALUD = ant.ANT_CERT_SALUD,
                        ANT_CERT_AFP = ant.ANT_CERT_AFP,
                        ANT_FOTOCOPIA = ant.ANT_FOTOCOPIA
                 }

                 ).ToList();
        }
        return list;
}

enter image description here

<asp:GridView ID="grv_AntecedentesPendientes" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" Style="width: 100%" CssClass="table table-striped table-dark" role="grid">
    <Columns>
        <asp:TemplateField HeaderText="CERT DE ANTECEDENTES">
            <ItemTemplate>
                <asp:CheckBox ID="chb_Antecedentes" runat="server" Checked='<%#(Convert.ToBoolean(Eval("ANT_CURRICULUM")))? true : false%>'/>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
    <EditRowStyle BackColor="#2461BF" />
    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#3c8dbc" Font-Bold="True" ForeColor="White" />
    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
    <RowStyle BackColor="#EFF3FB" />
    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
    <SortedAscendingCellStyle BackColor="#F5F7FB" />
    <SortedAscendingHeaderStyle BackColor="#6D95E1" />
    <SortedDescendingCellStyle BackColor="#E9EBEF" />
    <SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>

enter image description here

В изображении двух комнат данные в BoundField, чтобы увидеть, как данные поступают, но когда вы положили ItemTemplate и попробуйте для преобразования в bool выдается ошибка

enter image description here

Ошибка: дополнительная информация: строка не может быть распознана как допустимый логический тип.

попробуйте изменить строку на

<asp:CheckBox ID="chb_Antecedentes" runat="server" Checked='<%#((int)Eval("ANT_CURRICULUM")) == 1 ? true: false%>'/>

и выдает ошибку Дополнительная информация: указанное преобразование недопустимо.

...