2009-01-22 10 views
6

कोई भी कभी देखता है कि कैसे fogbugz उनकी टेबल को टाइप करता है? जब आप कॉलम को सॉर्ट करने के लिए क्लिक करते हैं, तो वे वास्तव में तालिका को कई छोटी सारणी में विभाजित करते हैं जिनमें प्रत्येक श्रेणी की जानकारी होती है।फ़ॉगबगज़ केस तालिका जैसे डेटा तालिका को सॉर्ट करने के लिए कैसे करें

आश्चर्य है कि अगर कोई जानता है कि वे यह कैसे करते हैं?

इस सुविधा को लागू करने के लिए देख रहे हैं।

यदि आप मामलों के पृष्ठ को देखते हैं, और सॉर्ट करें तो आप देख सकते हैं कि मेरा क्या मतलब है।

कोई भी मदद अद्भुत होगी!

अभी भी इसे एक नहीं समझ लिया है।

संपादित करें: @ पीटर, मैं पोस्टबैक नहीं करना चाहता और प्रत्येक बार हेडर शीर्षक को किसी प्रकार के लिए क्लिक करने के लिए एक टेबल को फिर से बनाना नहीं चाहता। मैं यह भी जानना चाहता हूं कि उनके लिए यह एक सामान्य समाधान है या नहीं। यदि मैं जावास्क्रिप्ट के माध्यम से सॉर्ट करने के लिए हेडर पर क्लिक करता हूं, तो यह "एक" तालिका को कई में अलग करता है और मैं जानना चाहता हूं कि उनके लिए यह कोई सामान्य समाधान है क्योंकि यह एक क्रमबद्ध तालिका देखने का एक बेहतर तरीका है।

संपादित करें: मैं एक जावास्क्रिप्ट सॉर्टर की जरूरत है, लेकिन अगर आप FogBugz के कार्यान्वयन पर सही नीचे देखो, यह एक अलग परिणाम पैदा करता है ...

+0

एक स्क्रीनशॉट सहायक होगा। यदि आपके पास कोई लिंक है, तो कृपया इसे पोस्ट करें - अन्यथा यह जानना वाकई मुश्किल है कि आपका क्या मतलब है। –

+0

इसके अलावा आप इसे फिर से बनाना चाहते हैं जहां आवेदन का उपयोग कर रहे हैं? अधिक जानकारी की आवश्यकता है –

उत्तर

8

यूप, रिच ने इसे प्राप्त किया (मैंने इस सुविधा को लंबे समय से पहले फोगबगज़ में कोड किया)।

यदि आपको क्लाइंट पर ऐसा करना है तो आपके पास डेटा को सॉर्ट करने के अलावा कोई विकल्प नहीं है, इसके माध्यम से टेबल पंक्ति के बाद तालिका पंक्ति उत्पन्न करना, और हर बार जब आप एक नया प्रकार मान डालते हैं तो आप एक नया थैड w/उचित जानकारी

ईमानदार होने के लिए यह इस jQuery प्लगइन में एक बहुत अच्छा संशोधन होगा: http://tablesorter.com/docs/ और आप अपने काम के लॉट का लाभ उठाने में सक्षम होंगे।यदि आप समय में शामिल होने जा रहे हैं और एक सामान्य समाधान बना रहे हैं, तो यह समुदाय के लिए भी पहुंच योग्य हो सकता है।

+3

कितना भयानक है कि जिस व्यक्ति ने फीचर-इन-सवाल को कोड किया है, वास्तव में सवाल का जवाब दिया? +1 –

1

सुनिश्चित नहीं हैं कि इस सवाल का जवाब आप उम्मीद करते हैं। इसके लिए एसक्यूएल क्वेरी बस चयनित कॉलम पर ऑर्डरिंग का उपयोग करेगी, और जब भी यह मान बदलता है तो यूआई नई टेबल शुरू करेगा।

प्राथमिकता कॉलम पर क्लिक करने के बाद, इस सॉर्टिंग के साथ फॉगबगज़ का स्क्रीनशॉट यहां दिया गया है।

http://img297.imageshack.us/img297/6974/76755363ee3.png

बेशक

, नई तालिका शुरू करने प्रत्येक स्तंभ (शीर्षक, मामले #) के लिए कोई मतलब नहीं है।


संपादित करें: यदि मैं सही ढंग से समझता हूं, तो आप नए पेज को लोड किए बिना ब्राउज़र में ऐसा करने का तरीका ढूंढ रहे हैं। यदि ऐसा है, तो मैं कम से कम कुछ सर्वर-साइड समर्थन का सुझाव दूंगा, जो आपके डेटा को सही क्रम में वापस कर देगा, और सबटेबल्स के लिए ठीक से संरचित होगा (xml/json/जो भी आप उपयोग करते हैं)। आपकी जावास्क्रिप्ट इस डेटा का उपयोग टेबल को फिर से बनाने के लिए करेगी। मुझे यकीन है कि अधिक वेब-यूई अनुभव वाले अन्य लोग आपको बेहतर उत्तर प्रदान करेंगे।

0

मैंने क्रयोजेनिक्स से Sortable Tables script का उपयोग कुछ अच्छे परिणामों के साथ किया है।

2

विशेष रूप से जानने के बिना कि कैसे फॉग क्रीक इसे पूरा करता है, जिस तरह से मैं इसे करूँगा, एक टेबल हेडर आउटपुट करना है, फिर सूची के माध्यम से फिर से भरना, प्रत्येक बार समूह मूल्य बदलने के बाद एक पाद लेख और एक नया शीर्षलेख आउटपुट करना।

0

मुझे नहीं पता कि यह प्रासंगिक है या नहीं, लेकिन हम एसक्यूएल में एक अस्थायी तालिका में एक क्वेरी के परिणाम संग्रहीत करते हैं, और फिर यह देखने के लिए कि कोई श्रेणी बदल गई है या नहीं, वर्तमान पंक्ति-कम-से-कम संदर्भित करें, और इसे इंगित करें पुनरुत्थान में।

कुछ उदाहरणों में हम इस एक स्तंभ युक्त

<tr><td colspan=999>Category Heading</td></tr> 

ताकि वेब पेज बस "इंजेक्षन" कर सकते हैं तालिका यह बनाने जा रहा है में है कि के साथ "से संकेत मिलता है"।

SELECT Col1, Col2, ..., 
     [CATEGORY] = CASE WHEN T1.CategoryCol <> COALESCE(T2.CategoryCol, '') 
      THEN '<tr><td colspan=999>' + T1.CategoryCol + '</td></tr>' 
      ELSE '' 
      END 
FROM #MyTempTable AS T1 
    LEFT OUTER JOIN #MyTempTable AS T2 
     ON T2.ID = T1.ID - 1 
संबंधित मुद्दे