GridView中显示bool字段(在数据库中是字符类型)

本文详细介绍了在 ASP.NET 中使用 BoundField 和 TemplateField 实现条件字段显示的方法,包括数据绑定前的转换和服务器端事件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

法一:

<asp:BoundField DataField="是否启用" HeaderText="是否启用">
   <ItemStyle Width="15%" HorizontalAlign="Center" />
</asp:BoundField>

        if (ds != null && ds.Tables[0].Rows.Count > 0) // 进行数据绑定前的示意转换
        {
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                if (ds.Tables[0].Rows[i]["是否启用"].ToString() == "1")
                    ds.Tables[0].Rows[i]["是否启用"] = "是";
                else
                    ds.Tables[0].Rows[i]["是否启用"] = "否";
            }
        }

法二:

<asp:TemplateField HeaderText="是否启用">
   <ItemTemplate>
   <asp:CheckBox runat="server" ID="chkSFQY" Enabled="false"></asp:CheckBox>
    </ItemTemplate>
    <ItemStyle HorizontalAlign="Center" Width="15%" />
 </asp:TemplateField>

 protected void gvMenuList_RowDataBound(object sender, GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            

            if (((DataRowView)e.Row.DataItem).Row["是否启用"].ToString() == "1")
            {
                ((CheckBox)e.Row.FindControl("chkSFQY")).Checked = true;
            }
            else
            {
                ((CheckBox)e.Row.FindControl("chkSFQY")).Checked = false;
            }
        }

}

转载于:https://www.cnblogs.com/chengpeng/archive/2011/12/06/2277532.html

C# Web Form 中在SqlServer有个数据库UL_DB,其中有一个总表:ULMaterialParameter,表中的字段为:int Id,varchar PlateType(板类型),varchar Type(Type),varchar CanadianExportCertification(加拿大出口认证),varchar Plates(板材),float PlateThicknessMin(最小板厚(mm)),varchar PP(pp),float PPThicknessMin(PP最薄厚度(mm)),varchar InkPHCertified(塞孔认证),varchar Ink(油墨),varchar Process(流程别),int PressingTimes(压合次数),varchar SurfaceTreatment(表面处理方式),int IMaximumInnerCopperThicknessMic(I-最大内层铜厚mic),varchar PHInk(塞孔油墨),int EMinimumOuterCopperThicknessMic(E-最小外层铜厚mic),varchar DSR(是否符合DSR),int ProductThicknessMin(成品最薄厚度(mm)),float LineWidthMin(最小线宽(mm)),float EdgeWireWidthMin(最小边缘导线宽(mm)),float NoLlineConductorDiameterMax(无线路导体最大直径(mm)),int SolderingTemperature (焊锡温度(℃)),int SolderTemperatureDuration(焊锡温度持续时间(S)),int OperatingTemperatureMax(最高操作温度(℃)),varchar CombustionGrade(燃烧等级),int TemperatureMax(最大温度℃),int MaximumCycle(最大周期cycle),某些字段里面的值有很多,比如某条数据中的Plates就包含NY6200, NY6200 (C), NY6200 (D), NY-P1 (C), NY-P1 (D), NY-P2 (C), NY-P2 (D),NY-P1, NY-P2, NY6300,NY6300 (C), NY6300 (D),所以还建立了每个字段单独的子表如UL_Plates,现在的需求是:需要一个C#WebForm界面,可以对这些数据进行查询,查询方式是联合查询加模糊查询,输入值时可以直接输入(需要对输入的值的合法性进行校验)也可以点击输入框旁的按钮弹出一个表格,这个表格绑定了子表们,然后在弹出的这个表格中进行相应子表值的选择,表格中的字段过多时有翻页的功能,选择完后点击完成,将这些值填入相应的输入框中,选择完后,点击查询,将查询到的数据显示到一个表中,这个表中可以进行数据修改以及数据删除,数据修改时也可以直接输入也可以点击文本框旁的按钮弹出一个表格(同查询一样),手动输入修改原有数据时需要对输入的值的合法性进行校验,修改完后点击保存;界面中还能新增数据,新增数据输入值时可以直接输入也可以点点击文本框旁的按钮弹出一个表格(同查询一样),选择完后点击保存,页面中所有增删改的操作都会以txt文本的方式记录到本地。请根据这些所有的字段将这个前后端完整的开发出来(代码中包含所有提供的字段)页面美观,特别是在模拟框选择子表数据后一定要能填入文本框中。模拟框中选择值后,值没有填入相应的文本框
最新发布
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值