c# SortedList的妙用 (GroupBy)

论坛 期权论坛     
选择匿名的用户   2021-6-2 16:03   1022   0
         公司做一个药品监控系统(web),目前负责对监控问题添加屏蔽规则功能。由于药品问题要分成
<strong>问题级别 - 问题类型 - 问题具体结果类</strong>型 三层级别,以这三个级别,分成大组,再分成小组。由于本人烦于写存储过程,在sql 中使用语句频繁查询,性能又不好。于是想到利用
<br> SortedList的自动排序和分组的功能,做了一个模板。觉得挺好用的,分享一下!
<br>
<p><strong>       数据结构如下:</strong></p>
<p></p>
<pre class="blockcode"><code class="language-csharp">namespace CRMS.Web.Query.ProblemPrescription
{
    public partial class ProblemDetail : CRMS.Web.Base.BasePage
    {
        // 由于datarow的构造函数是protected,这里巧妙地构造自定义table, 可以获取自定义datarow
        private DataTable simpleTable &#61; null;
        public DataTable SimpleTable
        {
            set { this.simpleTable &#61; value; }
            get
            {
                if (simpleTable &#61;&#61; null)
                {
                    simpleTable &#61; new DataTable();
                    System.Type stringType &#61; System.Type.GetType(&#34;System.String&#34;);
                    simpleTable.Columns.Add(new DataColumn(&#34;cli_lvl_code&#34;, stringType));
                    simpleTable.Columns.Add(new DataColumn(&#34;cli_lvl_name&#34;, stringType));
                    simpleTable.Columns.Add(new DataColumn(&#34;cli_title_code&#34;, stringType));
                    simpleTable.Columns.Add(new DataColumn(&#34;cli_title_name&#34;, stringType));
                    simpleTable.Columns.Add(new DataColumn(&#34;id&#34;, stringType)); // 以 &#34;id&#34; 代替 &#34;cli_analyze_title&#34;
                }
                return this.simpleTable;
            }
        }


        private result_data result_data;
        public result_data Result_data
        {
            set { this.result_data &#61; value; }
            get { return this.result_data; }
        }


        public partial class result_data
        {
            private result_level[] result_levelField;
            public result_level[] result_level
            {
                get { return this.result_levelField; }
                set { this.result_levelField &#61; value; }
            }
            private string nameField;
            [System.Xml.Serialization.XmlAttributeAttribute(&#34;name&#34;)]
            public string name
            {
                get { return this.nameField; }
                set { this.nameField &#61; value; }
            }
        }


        public partial class result_level
        {
            private string nameField;
            [System.Xml.Serialization.XmlAttributeAttribute()]
            public string name
            {
                get { return this.nameField; }
                set { this.nameField &#61; value; }
            }
            private result_title[] result_titleField;
            [System.Xml.Serialization.XmlElementAttribute(&#34;result_title&#34;, Form &#61; System.Xml.Schema.XmlSchemaForm.Unqualified)]
            public result_title[] result_title
            {
                get { return this.result_titleField; }
                set { this.result_titleField &#61; value; }
            }
        }


        public partial class result_title
        {
            private string nameField;
            public string name
            {
                get { return this.nameField; }
                set { this.nameField &#61; value; }
            }
            private result[] resultField;
            public result[] result
            {
                get { return this.resultField; }
                set { this.resultField &#61; value; }
            }
        }


        [System.CodeDom.Compiler.GeneratedCodeAttribute(&#34;xsd&#34;, &#34;4.0.30319.1&#34;)]
        [System.SerializableAttribute()]
        [System.Diagnostics.DebuggerStepThroughAttribute()]
        [System.ComponentModel.DesignerCategoryAttribute(&#34;code&#34;)]
        [System.Xml.Serialization.XmlTypeAttribute(AnonymousType &#61; true)]
        public partial class result
        {
            private title titleFiled;
            [System.Xml.Serialization.XmlElementAttribute(&#34;title&#34;, Form &#61; System.Xml.Schema.XmlSchemaForm.Unqualified)]
            public title Title
            {
                get { return this.titleFiled; }
                set { this.titleFiled &#61; value; }
            }

            private detail detailFiled;
            [System.Xml.Serialization.XmlElementAttribute(&#34;detail&#34;, Form &#61; System.Xml.Schema.XmlSchemaForm.Unqualified)]
            public detail Detail
            {
                get { return this.detailFiled; }
                set { this.detailFiled &#61; value; }
            }

            private reference referenceFiled;
            [System.Xml.Serialization.XmlElementAttribute(&#34;reference&#34;, Form &#61; System.Xml.Schema.XmlSchemaForm.Unqualified)]
            public reference Reference
            {
                get { return this.referenceFiled; }
                set { this.referenceFiled &#61; value; }
            }

            public string mediA_hiscode;
            public string mediB_hiscode;
            public string result_type;
            public string result_id;
        }


        public partial class title
        {
            private string nameField;
            private string valueField;
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP