两种状态显示处理. enum , Linq AsEnumerable

1.ENUM

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    GridViewRow row = e.Row;
    if (e.Row.RowIndex < 0)
    {
        return;
    }
    string statusNum = row.Cells[5].Text;
    int tempStatusNum = int.Parse(statusNum);
    ShipStatus temp2 = (ShipStatus)tempStatusNum;
    row.Cells[5].Text = temp2.ToString();
} 

enum ShipStatus
{
    初始 = 0, 审核通过 = 1, 已发送 = 2
}

2. AsEnumerable 思路,先把所有状态 放到一张临时表,再进行连接.

     var dt = DataTableA
     var dtstatus = DtStatus();
            var res = from a in dt.AsEnumerable()
                      join s in DtStatus().AsEnumerable() on a["status"] equals s["statusEN"] into dtjoin
                      from dj in dtjoin.DefaultIfEmpty()
                      select new
                      {
                          orderCode = a["orderCode"],
                          status = dj["statusCN"]
                          //...................
                      };

            var dtres = Functions.EnumerableToDataTable(res);

            GVorderStatus.DataSource = dtres;

        public DataTable DtStatus()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("statusEN", typeof(System.String)));
            dt.Columns.Add(new DataColumn("statusCN", typeof(System.String)));

            dt.Rows.Add("WMS_ARRIVAL", "SS");
            dt.Rows.Add("WMS_RECEIVED", "AA");
            dt.Rows.Add("WMS_REJECT", "FF");
            dt.Rows.Add("WMS_FAILED", "HH");
             //.......................
            return dt;
        }    
时间: 2025-02-01 17:04:24

两种状态显示处理. enum , Linq AsEnumerable的相关文章

thinkjs&mdash;&mdash;一个字段一种数字代表两种状态

问题来源: 现有一张company数据表,其中有一个字段state(-2:待审核:-1:禁用:0:正常:1:会员过期:),一般而言,在前期设计数据表的时候,会将每种状态下都用一种特定的数字代表,但是这里起初并没有将-2代表的待审核和拒绝状态分开,即-2代表着两种状态:待审核以及拒绝.现要求在字段state不增加值的情况下,根据company中的另外一个字段refuse是否为空来区分是待审核或者是拒绝. 分析: 拿到需求,先分析一下:在原来-2的基础之上,在查询条件中增加refuse条件即可. 解

NSButton文本颜色设置和Action两种状态行为

//获取文本颜色: - (NSColor *)textColor { NSAttributedString *attrTitle = [self attributedTitle]; int len = [attrTitle length]; NSRange range = NSMakeRange(0, MIN(len, 1)); // get the font attributes from the first character NSDictionary *attrs = [attrTitle

小程序项目别的页面初始化拿到的值为两种状态(已解决)

小程序项目别的页面初始化拿到的值为两种状态,其他页面拿不到app.js全局globalData下全局的cookie app.js文件 onLaunch: function () { console.log('app-onLaunch') this.getUserInfo(); }, onShow:function(){ console.log('app-onShow') }, // 获取用户信息,登录 getUserInfo: function (callBack) { let that = t

easyui tree 级联从三种状态变为两种状态

在网上找的方法都是使用方法$('#tree').tree('select', node.target);都没绕开oncheck方法,后来发现easyui tree提供了一个update方法可以成功绕开onCheck方法,从而成功将级联改为两种状态.代码如下: $('#tree').tree({ url: '/tree' ,lines:false ,checkbox:true ,cascadeCheck: false ,onCheck: function (node, checked) { blC

PE知识复习之PE的两种状态

一丶熟悉PE的整体结构 从下面依次网上看.可以得出PE结构 其中DOS头有DOS头结构 也就是 IMAGE_DOS_HEADER 关于结构体的各项属性.前边已经写过了.本系列博客就是加深PE印象.理解复杂的原理. IMAGE_DOS_HEADER 大小 64个字节    十六进制 0x40字节 IMAGE_FILE_HEADER 大小 20个字节     十六进制 0x14字节 IAMGE_OPTIONAL_HEADER 224个字节 十六进制  0xE0 IMAGE_SECTION_HEADE

PE中的两种状态

通过https://www.cnblogs.com/zpchcbd/p/12308184.html的介绍 大家也知道了节数据跟节数据之间,都是根据文件对齐存放的 PE文件有两种状态,一种是在硬盘中的状态,一种是在内存中的状态,上篇文章讲的都是硬盘中存放的时候的状态 例如下图: 在文件中我们的对齐是按照 0x200存放的. 而在内存中就是按照0x1000.假设是1000. 多余的地方补0 我们 的DOS部分 + PE头 + 节表,按照文件对齐之后存放着,节的数据是从400开始 但是在内存中就不一样

做一个计时器示例 在页面上有一个文本框和一个普通按钮 在状态栏上显示,单击按钮,开始计时的提示信息 单击按钮时,在文本框显示计数的过程,同时要求按钮上的字,显示为“单击暂停” 此时单击按钮,暂停计时,同时按钮上的字显示为“继续计时”,要求这两种状态来回切换,来完成计数器的功能

2015-04-12 20:15:25 方法一; <script> var s=0; var timeout=0; status='点击按钮,开始计时'; function count(){ s++; time1.value=s; timeout=setTimeout('count();',100); } function onChange(){ if(timeout==0){ count(); time2.value='暂停计时'; status='点击按钮,暂停计时'; }else{ cl

js实现点击一个按钮进行两种状态的切换(toggle)

<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1

ImageView切换两种状态下的模式

1.xml对ImageView的src要设置成selector <ImageView android:id="@+id/like_icon" android:layout_width="@dimen/will_like_icon_width" android:layout_height="@dimen/will_like_icon_height" android:layout_alignParentLeft="true"