דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. תצוגה של מעברי שורה בdatagridview

תצוגה של מעברי שורה בdatagridview

מתוזמן נעוץ נעול הועבר ארכיון code613m
13 פוסטים 3 כותבים 881 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • נתנאלנ מנותק
    נתנאלנ מנותק
    נתנאל
    כתב ב נערך לאחרונה על ידי
    #1

    יש לי dataGridView באפליקצית winformns, שהוא מציג גם שבירת שורות.
    היא טוענת מידע מקובץ טקסט נקי, אשר מוצג בrichtextbox סמוך.
    אני רוצה לעשות שבחירה של שורה תחפש את הטקסט שלה בתבה האמורה.
    עד כאן הכל טוב ויפה. יש שם טקסט אני לקוח אותו ושם אותו בחיפוש.

    הבעיה היא שאם יש בטקסט בתבה מעבר שורה הוא לא מוצא אותו.
    וזאת למרות שבטבלה הוא מציג מעבר שורה.
    אני מניח שזה בגלל ה/n/r אשר אמנם נמצאים הן בטבלה והן בתבת הטקסט העמוסה, אבל כשאני טוען אותם הוא מתרגם אותם אחרת.
    האם יש דרך בה אוכל שהטבלה תציג את הטקסט הבא
    שלום
    אני שורה חדשה

    כ: שלום/n/rאני שורה חדשה

    או משהו אחר שאני לו המרה כל שהיא לפני שאני מתחיל איתו בחיפוש כי לא יפה להראות ליוזר/n/r

    כרגע הקוד לי נראה כך, בארוע של בחירת שורה

      if (dataGridView1.SelectedRows.Count > 0)
                    {
                        richTextBox1.Select(0, 0);
                        var str = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();                    int startIndex = 0;
                        while (startIndex < richTextBox1.Text.Length)
                        {
                            int wordStartIndex = richTextBox1.Find(str, startIndex, RichTextBoxFinds.None);
                            if (wordStartIndex != -1)
                            {
                                richTextBox1.SelectionStart = wordStartIndex;
                                richTextBox1.SelectionLength = str.Length;
                                richTextBox1.SelectionBackColor = Color.Yellow;
                                richTextBox1.Focus();
                            }
                            else
                                break;
                            startIndex += wordStartIndex + str.Length;
    
                        }
    

    פורסם במקור בפורום CODE613 ב03/09/2017 12:30 (+03:00)

    הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
    https://programing-tips.web.app/

    תגובה 1 תגובה אחרונה
    0
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      לא הבנתי, בתיבה בDataGridView הטקסט שבור לשתי שורות או לא?
      חוץ מזה נסה בזמן הדיבאג לצפות בערכיהם של הdataGridView1.SelectedRows[0].Cells[1].Value וגם של הrichTextBox, ואז תדע למה הוא לא מוצא ולא רק תשער. ואז אני רוצה לדעת באיזה מהם לא מופיע תוי השבירת שורה כי זה משונה בעיני.

      פורסם במקור בפורום CODE613 ב03/09/2017 14:15 (+03:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • נתנאלנ מנותק
        נתנאלנ מנותק
        נתנאל
        כתב ב נערך לאחרונה על ידי
        #3

        בתבה עצמה הוא באמת נראה שבור. וכן בגרידויו
        ןבאמת כך עשיתי, ניסתי פעמיים. גם בחיפוש, שאז הוא מוצא אותו, וגם אחרי זה שאני רוצה להחליף אותו הוא מראה אותו ג"כ ככה בדיבאג.

        "@10דא'\r@20@30דאחד @40" ככה בחיפוש והוא מוצא אותו באמת על התבה.
        "@10דא'\r@20@30דאחד @40" ככה זה כשאני בא להחליף אותו, אבל בפועל הוא לא מחליף את זה.

        "@10\rעכ"פ@20@30 על כל פנים@40"
        "@10\rעכ"פ@20@30 על כל פנים@40"

        אני שם לב שבשני אלו זה לא עובד חלק כי יש את / ל- r ויש את ה/ ל" או '. האם זה יכול להיות הסיבה?

        פורסם במקור בפורום CODE613 ב03/09/2017 14:27 (+03:00)

        הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
        https://programing-tips.web.app/

        תגובה 1 תגובה אחרונה
        0
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          נשגב מבינתי, משונה מאוד.
          מה זה נקרא לא עובד חלק, זה עובדת חלקית? או לא עובד כלל?

          פורסם במקור בפורום CODE613 ב03/09/2017 15:20 (+03:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          0
          • נתנאלנ מנותק
            נתנאלנ מנותק
            נתנאל
            כתב ב נערך לאחרונה על ידי
            #5

            זה עובד מצוין בכל שאר המחרוזות אבל לא באלו שיש בהם שבירת השורות.
            יש קובץ טקסט שנטען לתבת טקסט עשירה מאוד.
            יש טבלה שיש שם כל מיני מחרוזות לפי כל מיני פרמטרים.
            בוחרים אותם בטבלה ואחרי זה עושים להם חיפוש והחלפה על התבה העשירה.

            כל מה שנבחר, מוחלף היטב והכל בסדר.

            כל מה שהוא עם מעבר שורה כלשהוא לא עובד. כלומר הוא אמנם מוצא אותו אם אני מחפש אותו, אבל לא מחליף אותו.

            נראה לי שמכיון שיש @ /r " ' שהם תווים בעייתים אולי הוא לא משייך אותם נכון למחרוזת שאני רוצה. כלומר שהסלאש לא מתפרש נכון במחרוזת, ואז הוא כאלו מחפש את האות R האמיתית ולא מוצא אותה ולכן הוא ממשיך הלאה.
            הקוד של החחלפה נראה משהו כזה:

            foreach (DataGridViewRow item in dataGridView1.Rows)
                        {
                            if (Convert.ToBoolean(item.Cells[0].Value) == true)
                            {
                           var str =   "@10"+ item.Cells[1].Value.ToString()+"@20@30" + item.Cells[2].Value.ToString()+"@40";
            
                                text = text.Replace(str,  "@50" +item.Cells[1].Value.ToString() +"@51");              
            
                            }
            

            פורסם במקור בפורום CODE613 ב03/09/2017 15:46 (+03:00)

            הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
            https://programing-tips.web.app/

            תגובה 1 תגובה אחרונה
            0
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              לא יודע לעזור, אבל אין כזה מושג תווים בעייתיים. @ זה תו רגיל לגמרי, ו\r זה תו שרק מוצג בVS בצורה כזאת, במציאות זה תו לבן שמשמש לקפיצת שורה אבל הוא עדיין כמו כל תו אחר.
              בגלל שלא כל הקוד מול עיני אני עדיין מעיז לומר שיש לך טעות לוגית והטקסט שאתה מחפש באמת לא קיים והעקביות של ה\r היא מקרית או לא נכונה... לשכל שלי בינתיים אין ברירה...

              פורסם במקור בפורום CODE613 ב03/09/2017 16:42 (+03:00)

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              0
              • נתנאלנ מנותק
                נתנאלנ מנותק
                נתנאל
                כתב ב נערך לאחרונה על ידי
                #7

                בכל שאר המקרים זה עובד היטב, ובשני המקרים הריחוף בדיבאג הראה לי את מה שהובא לעיל.
                ואמנם, קטונתי, כידוע ובאמת כל אלו הם תווים רגילים, אך - מכיון שעסקינן באותיות עבריות שכיוונם הוא RTL, ואותיות עבריות יש להם נגידויות חזקה כלומר שתמיד הסמכיות של שניהם תהיה מימין לשמאל, תווים אלו כמו מספרים יש להם נגידות חלשה, והם יורשים את הכיון שלהם ממה שלידם. ויתכן שהתו השטרודל עצמו נחשב כאילו היה אנגלית, וכן המסםרים כידוע וכן האות r שהיא בעצמה באנגלית. אולי זה הסיפור, לא יודע. (וזה סיוט יודע בעימוד ממל דו לשוני, עם הסוגריים שנדבקות וכו')

                אני רואה שהבעיה היא בשורה הזו: (שזה בעצם מה שהיה שהוא מראה אבל לא מחליף)

                text = text.Replace(str,  "@50" +item.Cells[1].Value.ToString() +"@51");       
                

                שהוא נשאר אותו דבר ולא מחליף, וזאת משום שאי אפשר לומר לו שיעשה REPLACE כאילו היה rtl. אבל בחיפוש בתצוגה מכיון ששינהם rtl אז זה טוב.
                ככה אני משער.

                ואחרי כתבי כל זאת , חפשתי בכיון הזה ומצאתי את זה בסטאק (עדיין לא ניסיתי אצלי)

                https://stackoverflow.com/questions/16313765/how-can-i-get-this-string-replacement-in-hebrew-to-work

                פורסם במקור בפורום CODE613 ב03/09/2017 23:04 (+03:00)

                הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
                https://programing-tips.web.app/

                תגובה 1 תגובה אחרונה
                0
                • dovidD מחובר
                  dovidD מחובר
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #8

                  כל הנושא של rtl זה נטו בתצוגה. מבחינת מחרוזת התווים אין שום חילוק בעולם, לענ"ד, בין rtl לבין ltr.
                  בשאלה בסטאק אםהבנתי טוב יש טקסט ליטרלי בקוד, שהוא זה שלא כתוב לדעתי בסדר הנכון.

                  פורסם במקור בפורום CODE613 ב04/09/2017 00:03 (+03:00)

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  0
                  • נתנאלנ מנותק
                    נתנאלנ מנותק
                    נתנאל
                    כתב ב נערך לאחרונה על ידי
                    #9

                    שניהם מביאים אותה תוצאה 25 28
                    למרות שאנו רואים אותה אחרת. כדבריך.
                    js

                    var t ="@10\rעכ\"פ@20@30 על כל פנים@40"
                    alert(t.indexOf('@40') + " " + t.length )
                    

                    C#

                    public static void Main()
                    	{
                    
                    		
                    		var str = "@10\rעכ\"פ@20@30 על כל פנים@40";
                    		Console.WriteLine(str.IndexOf("@40") +  " " + str.Length);
                    		
                    		
                    	}
                    

                    פורסם במקור בפורום CODE613 ב04/09/2017 11:03 (+03:00)

                    הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
                    https://programing-tips.web.app/

                    תגובה 1 תגובה אחרונה
                    0
                    • dovidD מחובר
                      dovidD מחובר
                      dovid ניהול
                      כתב ב נערך לאחרונה על ידי
                      #10

                      אם כבר תשחק גם עם הReplace ותראה שהוא עובד תמיד כצפוי, או שאני טועה...

                      פורסם במקור בפורום CODE613 ב04/09/2017 11:33 (+03:00)

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      0
                      • ח מנותק
                        ח מנותק
                        חגי פאהן
                        כתב ב נערך לאחרונה על ידי
                        #11

                        ככה החלפתי תוים אלה ברווח:

                        label1.Text = myString.Replace('\r', ' ').Replace('\n', ' ');
                        

                        לכא' אפשר להחליפם בכל תו אחר.

                        פורסם במקור בפורום CODE613 ב05/09/2017 23:26 (+03:00)

                        ניקוד ספרים, עימוד, בניית תוכנות לעורכי ספרים
                        nikkud.com
                        לכבוד שבוע הספר כל הספרים והתוכנות ב-20% הנחה! עד ל' סיון

                        תגובה 1 תגובה אחרונה
                        0
                        • נתנאלנ מנותק
                          נתנאלנ מנותק
                          נתנאל
                          כתב ב נערך לאחרונה על ידי
                          #12

                          אכן, הבעיה היא שאני באמת צריך אותם בפורמט הזה שיסמנו מעברי פסקה, כנראה הפתרון זה להחליף לתו אחר משונה ואחרי זה להחזיר את זה.

                          פורסם במקור בפורום CODE613 ב06/09/2017 22:57 (+03:00)

                          הצטרפות לרשימת התפוצה בעניני תכנות JS , React , Node וכל מיני דברים מענינים כאן :cool:
                          https://programing-tips.web.app/

                          תגובה 1 תגובה אחרונה
                          0
                          • dovidD מחובר
                            dovidD מחובר
                            dovid ניהול
                            כתב ב נערך לאחרונה על ידי
                            #13

                            @דוד ל.ט.

                            אני עדיין מעיז לומר שיש לך טעות לוגית והטקסט שאתה מחפש באמת לא קיים והעקביות של ה\r היא מקרית או לא נכונה... לשכל שלי בינתיים אין ברירה...

                            פורסם במקור בפורום CODE613 ב06/09/2017 23:15 (+03:00)

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            תגובה 1 תגובה אחרונה
                            0

                            בא תתחבר לדף היומי!
                            • התחברות

                            • אין לך חשבון עדיין? הרשמה

                            • התחברו או הירשמו כדי לחפש.
                            • פוסט ראשון
                              פוסט אחרון
                            0
                            • דף הבית
                            • קטגוריות
                            • פוסטים אחרונים
                            • משתמשים
                            • חיפוש
                            • חוקי הפורום