Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
¼¹ÖùÍâ¿Æ²¡ÈË×ÊÁϹÜÀíϵͳµÄ½çÃæÉè¼Æ·ÖÎö£¨Ï£©
 
×÷ÕߣºJames L Lentz À´Ô´£ºIBM ·¢²¼ÓÚ£º 2015-01-05
  3064  次浏览      27
 

JOA(È«³Æ Japanese Orthopaedic Association Scores for Assessment of Cervical Myelopathy£©£¬ÈÕ±¾¹Ç¿ÆÑ§»á£¨JOA£©¾±×µ²¡ÁÆÐ§ÆÀ¶¨±ê×¼£¬ÓÃÓÚÔÚ¼¹ÖùÍâ¿ÆµÄÊõǰÊõºó£¬¶Ô»¼ÕßÉíÌå×´¿ö½øÐÐÁ¿»¯£¬²¢Öƶ¨Ïà¹ØµÄ»¤Àí·½°¸ÌṩÒÀ¾Ý¡£JOAÆÀ·Ö¼Ç¼ģ¿é£¬ÊÇÈí¼þ¡¶¼¹ÖùÍâ¿Æ²¡ÈË×ÊÁϹÜÀíϵͳ¡·µÄÒ»¸öÁÁµã£¬ÄÜʹÍâ¿ÆÒ½Éú»òÕß»¤Ê¿£¬¶Ô»¼ÕßµÄÐÅÏ¢½øÐÐÈ«ÃæµÄ¼Ç¼ºÍÑо¿²Î¿¼¡£

1¡¢JOAÆÀ·Ö¼Ç¼ģ¿éµÄ·ÖÎö

JOAÆÀ·Ö¼Ç¼£¬ÓеãÀàËÆÓÚ¿¼ÌâµÄ·½Ê½£¬¶Ô¸÷ÏîÄÚÈݽøÐзÖÖµµÄÆÀ¹À£¬Ã¿Ïî¼Ç¼µÄµÃ·Ö²»Í¬£¬»ã×ܳÉÒ»¸ö×ܵĵ÷֣¬ÓÃÓÚÁ¿»¯ÆÀ¹À£¬ËüµÄ·ÖÀà´óÖÂÈçÏÂËùʾ¡£

´ÓÉÏÃæµÄÎĵµ½ØÍ¼¿ÉÒÔ¿´µ½£¬ÆÀ·ÖÏîÄ¿¿ÉÒÔ·ÖΪһ¸ö´óÀࣨÈç×Ô¾õÖ¢×´£©£¬¶à¸ö×ÓÏîÄ¿£¨ÈçÏÂÑüÍ´£©ÕâÑùµÄ×éÖ¯·½Ê½£¬È»ºóÎÒÃÇÐèÒª¼Ç¼ÿÏîµÄµÃ·Ö£¬ÒÔ¼°ËùÓÐÏîÄ¿ÀÛ¼ÓµÄ×Ü·Ö¡£

ͨ¹ý·Ö²ð£¬ÎÒÃÇ¿ÉÒÔ°ÑÒ»¸ö¼Ç·ÖµÄÌâÄ¿×÷Ϊһ¸ö¿Ø¼þ£¬Ã¿¸öÌâÄ¿Ëü×Ô¼ºµÄµÃ·ÖÃ÷ϸ¿ÉÒÔ¶¯Ì¬´ÓÊý¾Ý¿â»ñÈ¡¼´¿É£¬½çÃæ¿Ø¼þÉè¼ÆÈçÏÂËùʾ¡£

ͨ¹ýÉÏÃæµÄ·ÖÎö£¬ÎÒÃÇÖªµÀ£¬Ò»¸öÏîÄ¿´óÀࣨÈç×Ô¾õÖ¢×´£©°üº¬Á˶à¸ö×ÓÏîÄ¿£¨ÈçÏÂÑüÍ´¡¢²½Ì¬µÈ£©ÕâÑùµÄÌâÄ¿£¬Ò²¾ÍÊǶà¸öÉÏÃæ¿Ø¼þµÄʵÀý£¬ÄÇôÎÒÃÇÉè¼ÆµÄÏîÄ¿´óÀà¿Ø¼þ½çÃæÈçÏÂËùʾ¡£

ÒÔÉϵĽçÃæ£¬Æäʵ¾ÍÊÇÔÚÒ»¸ö´óµÄÏîÄ¿´óÀà¿Ø¼þÉÏ×éºÏ¶à¸ö×ÓÏîÄ¿¿Ø¼þµÄЧ¹û¡£

È»ºó£¬Õû¸öJOAÆÀ·ÖµÄ½çÃæ¾ÍÊǶà¸öÉÏÃæÏîÄ¿´óÀàµÄ×éºÏÁË£¬×éºÏ³ÉÁËÒ»¸öJOAÆÀ·Ö¼Ç¼ģ¿éµÄ¿Ø¼þЧ¹û£¬ÈçÏÂËùʾ¡£

×îºó£¬ÎÒÃÇÔÚµÚÒ»¸öÎĵµ½ØÍ¼ÀïÃæ¿´µ½£¬JOAÆÀ·Ö·ÖΪÁ½¸ö·½Ã棬һ¸öÊÇÊõǰµÄ£¬Ò»¸öÊÇÊõºóµÄ£¬ËûÃÇµÄÆÀ·Ö½çÃæÍêȫһÑù£¬ÄÇôÎÒÃÇ¿ÉÒÔ°ÑËüÃÇÓÃÁ½¸öTab½çÃæ½øÐзֿª´¦Àí£¬×îºóµÃµ½µÄÔËÐнçÃæÈçÏÂËùʾ¡£

2¡¢JOAÆÀ·Ö¼Ç¼µÄÂß¼­ÊµÏÖ

ΪÁËÔÚ½çÃæ³ÊÏÖ¸÷Ïî·ÖÊýÏîÄ¿£¬ÎÒÃÇÐèÒªÔÚÊý¾Ý¿âÉè¼ÆÒ»¸ö±íJOAItem£¬ÓÃÀ´´æ´¢Ã¿¸öÆÀ·ÖÏîÄ¿µÄÄÚÈÝ£¬È»ºóÔÚ½çÃæÖиù¾Ý·ÖÀà½øÐж¯Ì¬Õ¹Ê¾¡£

È»ºó¶¨ÒåÒ»¸öÆÀ·Ö×ÓÏîÄ¿µÄÐÅÏ¢¶ÔÏóControlItem£¬×÷ΪÉÏÃæ¿Ø¼þµÄÐÅÏ¢¶ÔÏ󣬷½±ã¿Ø¼þºÍÊý¾Ý¿â¹ØÁªÆðÀ´£¬¼Ç·Ö»òÕß´æ´¢Ã÷ϸµ½Êý¾Ý¿âÖУ¬´úÂëÈçÏÂËùʾ¡£

/// 
    /// JOAÆÀ·ÖÏîÄ¿Ã÷ϸ
    /// 
    [DataContract]
    public class ControlItem 
    {    
        /// 
        /// ÐòºÅ£¬´Ó1¿ªÊ¼
        /// 
        [DataMember]
        public virtual int Seq { get; set; }

        /// 
        /// ·ÖÀàÃû³Æ
        /// 
        [DataMember]
        public virtual string Category { get; set; }

        /// 
        /// ÏîÄ¿Ã÷ϸÁÐ±í£¨°üÀ¨ÏîÄ¿µÃ·ÖµÈÐÅÏ¢£©
        /// 
        [DataMember]
        public virtual List ItemList { get; set; }

        /// 
        /// ÆÀ·ÖÏîÄ¿µÚÒ»ÏîµÃ·Ö£¨Ä¬Èϵ÷֣©
        /// 
        public virtual decimal DefaultScore
        {
            get
            {
                if (ItemList == null || ItemList.Count == 0)
                {
                    return 0M;
                }
                else
                {
                    return ItemList[0].Score;
                }
            }
        }

        /// 
        /// ĬÈϹ¹Ô캯Êý
        /// 
        public ControlItem() 
        { 
            ItemList = new List(); 
        }

        /// 
        /// ²ÎÊý¹¹Ô캯Êý
        /// 
   /// <param name="seq">ÐòºÅ</param>
  /// <param name="category">·ÖÀàÃû³Æ</param>
  /// <param name="itemList">ÏîÄ¿Ã÷ϸÁбí</param>
/// <param name="seq">Ðò
public ControlItem(int seq, string category, List<JOAItemInfo> itemList) : this()
        public ControlItem(int seq, string category, List itemList) : this()
        {
            this.Seq = seq;
            this.Category = category;
            this.ItemList = itemList;
        }
    }

ÔÚÉÏÃæµÄÆÀ·Ö¿Ø¼þÖУ¬ÎÒÃÇÕûºÏÒÔÉϵÄÐÅÏ¢¶ÔÏó×÷Ϊһ¸öÕûÌ壬²¿·Ö´úÂëÈçÏÂËùʾ¡£

public partial class ScoreItemControl : DevExpress.XtraEditors.XtraUserControl
    {
        /// 
        /// µ¥ÏîµÄÐòºÅ£¬´Ó1¿ªÊ¼
        /// 
        public int Seq = 1;

        /// 
        /// ¿Ø¼þ°ó¶¨µÄÐÅÏ¢
        /// 
        public ControlItem ControlItem { get;set; } 

        /// 
        /// µ¥ÏîµÄµÃ·Ö
        /// 
        public decimal Score { get; set; } 

        /// 
        /// ´¦Àí·ÖÊý±ä»¯ºóµÄʼþ´¥·¢
        /// 
        public event ScoreChangedHandler OnScoreChanged;

       ............................

µ±ÎÒÃÇÔÚÆÀ·Ö¿Ø¼þÖÐÖ¸¶¨ÁËControlItemÐÅÏ¢ºó£¬ÔڿؼþµÄLoadʼþÀïÃæ£¬½«»á¶¯Ì¬°ó¶¨ÆÀ·ÖµÄÏîÄ¿Ã÷ϸ£¬´úÂëÈçÏÂËùʾ¡£

private void ScoreItemControl_Load(object sender, EventArgs e)
        {
            if (ControlItem != null && !this.DesignMode)
            {
                this.lblItemIndex.Text = ControlItem.Seq.ToString();
                this.layoutItem.Text = ControlItem.Category;

                List itemList = new List();
                foreach (JOAItemInfo info in ControlItem.ItemList)
                {
                    itemList.Add(new CListItem(info.ItemDetail, info.Score.ToString()));
                }

                radItemGroup.BindDictItems(itemList);
            }

            if (radItemGroup.Properties.Items.Count > 0)
            {
                this.radItemGroup.SelectedIndex = 0;
            }
        }

³ýÁËControlItemÐÅÏ¢¶ÔÏóµÄ°ó¶¨£¬ÎÒÃÇ»¹×¢Òâµ½ÉÏÃæµÄOnScoreChangedʼþ£¬Ëü¾ÍÊÇΪÁËÎÒÃÇÔÚÕû¸ö¿Ø¼þÖÐʵÏÖ·ÖÊý¶¯Ì¬±ä»¯µÄÒ»¸öʼþ£¬ÕâÑùÎÒÃDZ仯ÈκÎÒ»¸öÆÀ·ÖÏîÄ¿ÐÅÏ¢£¬µ¥Ïî·ÖÊýºÍ×Ü·Ö¶¼»áÖØÐ¼ÆËãÒ»´ÎµÄʼþ¡£

/// 
        /// ´¦Àí·ÖÊý±ä»¯ºóµÄʼþ´¥·¢
        /// 
        public virtual void ProcessScoreChanged(int seq, decimal score)
        {
            if (OnScoreChanged != null)
            {
                OnScoreChanged(seq, score);
            }
        }

        private void radItemGroup_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.lblItemScore.Text = string.Format("µÃ·Ö£¨{0}£©·Ö", this.radItemGroup.EditValue);

            decimal result = 0;
            if (decimal.TryParse(this.radItemGroup.EditValue.ToString(), out result))
            {
                this.Score = result;
                ProcessScoreChanged(Seq, result);
            }
        }

ÒÔÉÏ´úÂëÂß¼­¾ÍÊÇ×îСÆÀ·Ö¿Ø¼þµÄÒ»¸ö¾ßÌåµÄʵÏÖ£¬Íê³ÉÒÔÉÏÕâЩ£¬»¹ÐèÒªÍê³ÉÒ»¸öÆÀ·ÖÏîÄ¿´óÀàµÄ¾ßÌåÂß¼­£¬ËüµÄ²Ù×÷·½Ê½ºÍÉÏÃæ²î²»¶à£¬Ò²ÊÇÒýÈëÒ»¸öÐÅÏ¢¶ÔÏ󼯺Ï×÷Ϊ±³ºóµÃ·Ö¼ÆËãµÄÂß¼­¡£

¶¨ÒåµÄÐÅÏ¢¶ÔÏóProjectItem´úÂëÈçÏÂËùʾ¡£

/// 
   /// JOAÆÀ·ÖÏîÄ¿ÐÅÏ¢
   /// 
    [DataContract]
    public class ProjectItem
    {
        /// 
        /// ÐòºÅ£¬´Ó1¿ªÊ¼
        /// 
        [DataMember]
        public virtual int Seq { get; set; }

        /// 
        /// ÏîÄ¿Ãû³Æ
        /// 
        [DataMember]
        public virtual string Project { get; set; }

        /// 
        /// ÏîÄ¿Ã÷ϸÁбí
        /// 
        [DataMember]
        public virtual List ItemList { get; set; }

        /// 
        /// ĬÈϹ¹Ô캯Êý
        /// 
        public ProjectItem() 
        {
            ItemList = new List();
        }

        /// 
        /// ÆÀ·ÖÏîÄ¿µÚÒ»ÏîµÃ·Ö×ܺͣ¨Ä¬Èϵ÷֣©
        /// 
        public virtual decimal DefaultScore
        {
            get
            {
                if (ItemList == null || ItemList.Count == 0)
                {
                    return 0M;
                }
                else
                {
                    decimal total = 0M;
                    foreach (ControlItem item in ItemList)
                    {
                        total += item.DefaultScore;
                    }
                    return total;
                }
            }
        }

        /// 
        /// ²ÎÊý»¯¹¹Ô캯Êý
        /// 
/// </summary>
/// <param name="seq"></param>
/// <param name="project"></param>
/// <param name="itemList"></param> public ProjectItem(int seq, string project, List itemList) : this() { this.Seq = seq; this.Project = project; this.ItemList = itemList; } }

È»ºó¸Ã¿Ø¼þµÄÂß¼­´úÂë¾ÍÊǽáºÏÕâ¸öÐÅÏ¢¶ÔÏóÒÔ¼°¿Ø¼þµÄһЩʼþ½øÐд¦ÀíÁË£¬¿Ø¼þµÄ²¿·Ö´úÂëÈçÏÂËùʾ¡£

public partial class ScoreProjectControl : DevExpress.XtraEditors.XtraUserControl
    {
        /// 
        /// ÏîÄ¿´óÀàµÄÐòºÅ£¬´Ó1¿ªÊ¼
        /// 
        public int ProjectSeq = 1;
        
        /// 
        /// ÏîÄ¿´óÀàµÄÐÅÏ¢ 
        /// 
        public ProjectItem ProjectItem { get; set; }

        /// 
        /// ´¦Àí·ÖÊý±ä»¯ºóµÄʼþ´¥·¢
        /// 
        public event ScoreChangedHandler OnScoreChanged;
private Dictionary<int, decimal> scoreList = new Dictionary<int, decimal>();//¼Ç¼µ¥ÏîµÄµÃ·ÖÁбí
        ...................

ÓÉÓÚÿÏîÆÀ·Ö×ÓÏîÄ¿Êǵ¥¶ÀµÄÆÀ·Ö¿Ø¼þ£¬¿Ø¼þµÄ²¼¾Ö²ÉÓÃÁËFlowLayout²¼¾Ö³ÊÏÖ·½Ê½£¬Òò´ËÔڿؼþµÄLoadʼþ´úÂëÈçÏÂËùʾ¡£

private void ScoreProjectControl_Load(object sender, EventArgs e)
        {
            if (ProjectItem != null && !this.DesignMode)
            {
                this.lblProject.Text = string.Format("{0}¡¢{1}", ProjectItem.Seq, ProjectItem.Project);

                this.flowLayoutPanel1.Controls.Clear();
                int index = 1;
                foreach (ControlItem item in ProjectItem.ItemList)
                {
                    ScoreItemControl control = new ScoreItemControl();
                    control.ControlItem = item;
                    control.Seq = index++;
                    control.OnScoreChanged += new ScoreChangedHandler(control_OnScoreChanged);
                    this.flowLayoutPanel1.Controls.Add(control);
                }
            }
        }

ͬÑùÕû¸ö¿Ø¼þÒ²ÓÐÒ»¸öOnScoreChanged µÄʼþ£¬ÎÒÃÇ¿´µ½£¬Õâ¸öºÍÉÏÃæ½éÉܵÄʼþ²Ù×÷·½Ê½ÀàËÆ£¬¶¼ÊÇÒ»¼¶¸ºÔðÒ»¼¶µÄ·ÖÊý´¦Àí£¬¾ßÌå´úÂëÈçÏÂËùʾ¡£

void control_OnScoreChanged(int seq, decimal score)
        {
            if(!scoreList.ContainsKey(seq))
            {
                scoreList.Add(seq, score);
            }
            else
            {
                scoreList[seq] = score;
            }

            //ÏîÄ¿µÄ×ֱܷ仯
            ProcessScoreChanged(ProjectSeq, this.TotalScores);
        }

ÒÔÉϵĿؼþʵÏÖÂß¼­Ò»²½²½µÝÍÆ£¬¾ÍÄܺܺÃʵÏÖÆÀ·ÖÏîÄ¿µÄ¶¯Ì¬³ÊÏÖ£¬ÒÔ¼°¿Ø¼þÆÀ·Ö·ÖÊýµÄ¶¯Ì¬±ä»¯ºÍ×ּܷǼ±£´æ£¬ÓÉÓÚÉæ¼°µÄʵÏÖϸ½Ú»¹±È½Ï¶à£¬Ò»ÆªËæ±Ê½éÉÜÄÚÈÝÌ«¶àÏÔµÃÀÛ׸£¬µ«ÊÇÆäËû¿Ø¼þµÄʵÏÖÂß¼­ºÍÉÏÃæµÄ²Ù×÷·½Ê½²î²»¶à£¬ÔÚÕâÀï¾Í²»ÔÚһһ׸ÊöÁË£¬±¾ÎÄÖ÷ÒªÌṩһ¸öÕâÖÖµÄʵÏÖ˼·½øÐÐJOAÆÀ·Ö¼Ç¼ģ¿éµÄʵÏÖ£¬½øÒ»²½ÍØÕ¹£¬¿ÉÒÔ°ÑËüÓ¦Óõ½¿¼ÊÔÌâÄ¿ÉÏ £¬¿ÉÒÔ×÷Ϊ¶¯Ì¬³éÈ¡ÌâÄ¿£¬È»ºó¼Ç¼²âÊÔÕßµÄÌâĿѡÔñÐÅÏ¢£¬×îºó°Ñ²âÊÔÕߵĴ𰸺ͱê×¼´ð°¸¶Ô±ÈµÃ³öÓû§µÄ×Ü·Ö£¬ÕâÑù¾ÍÍê³ÉÁËÊÔÌâµÄ¶¯Ì¬²âÊÔ°¸ÀýÁË¡£

   
3064 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Óû§¹ÊÊÂÓëÓÃÀý
½»»¥Éè¼ÆÊ¦Ö®¾«Òæ»­²¼Æª
Êý¾Ý·ÖÎöÖ®Óû§»­Ïñ·½·¨Óëʵ¼ù
ÈçºÎ¿ìËÙ½¨Á¢Óû§Ä£ÐÍ£¿
 
Ïà¹ØÎĵµ

Óû§½çÃæÉè¼Æ
¸øÆóÒµ×ö´óÊý¾Ý¾«×¼Óû§»­Ïñ
Óû§ÌåÑéºÍ½»»¥Éè¼Æ
´óÊý¾ÝϵÄÓû§»­Ïñ
Ïà¹Ø¿Î³Ì

Óû§ÌåÑé&½çÃæÉè¼Æ
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À
Óû§Ñо¿ÓëÓû§½¨Ä£
Óû§ÌåÑéµÄÈí¼þUIÉè¼Æ×î¼Ñʵ¼ù
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

´ÓÊÖ»úµÇÂ¼Ò³ÃæÉè¼ÆÏëµ½µÄ
ÈçºÎ°ÑÎÞÒâʶÒýÈë½»»¥Éè¼ÆÖÐ
½»»¥Éè¼ÆµÄÕæÏà
µ±ÊÓ¾õÉè¼ÆÊ¦ÓöÉϲúÆ·¾­Àí
ÊÖ»ú½»»¥Éè¼ÆÔ­Ôò
Óû§ÌåÑéÖ®ÍøÒ³°å¿éÉè¼Æ

ÒÔÓû§ÎªÖÐÐĵÄÉè¼Æ
¿ÉÓÃÐÔÆÀ¹À
Desktop¼°Web-basedÊÓ¾õÉè¼Æ
ÈÏÖªÔ­ÀíÓëÉè¼ÆÓ¦ÓÃ
ÊÖ»úÓû§½çÃæÉè¼Æ

±±¾© ÒÔÓû§ÎªÖÐÐĵĽçÃæÉè¼Æ
±±¾© Óû§ÌåÑé& ½çÃæÉè¼Æ
ÉϺ£ »ªÎª Óû§ÌåÑé& ½çÃæÉè¼Æ
ÉîÛÚ Óû§ÌåÑé& ½çÃæÉè¼Æ
°®Á¢ÐÅ ÒÔÓû§ÎªÖÐÐĵÄÉè¼Æ
±±¾© Óû§ÌåÑéÓë½çÃæÉè¼Æ
¸£ÖÝ ÒÔÓû§ÎªÖÐÐĵĽçÃæÉè¼Æ