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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
dovidD

dovid

@dovid
ניהול
אודות
פוסטים
10.2k
נושאים
184
שיתופים
0
קבוצות
2
עוקבים
32
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • נעילת תוכנה באקסס
    dovidD dovid

    שמואל, נשמח אם תעדכן איך התקדמו העניינים.

    פורסם במקור בפורום CODE613 ב13/01/2014 12:19 (+02:00)

    ארכיון code613m

  • כללי העדכון של דטה-סט
    dovidD dovid

    @רחמים

    איפה הקשיים והסיבוכים הגדולים נמצאים? זה רק באדו ?

    לא לא עד כדי כך. מה שאתה כעת עוסק בשבילי זה סיבוך גדול, אתה בטח מגדיר את זה כהרבה חומר, אתה טיפוס אופטימי שלא מפחד מעבודה (זה גם חיסרון! :)) חוץ מזה פה בפורום יש כרישים בתחום המסד, וגם בתחום אסטרטגיית הקליינט, מה שנשאר זה בעיקר ADO.NET, וזה גם בע"ה לא רציני.

    פורסם במקור בפורום CODE613 ב09/01/2014 18:22 (+02:00)

    ארכיון code613m

  • כללי העדכון של דטה-סט
    dovidD dovid

    אתה לא מדבר על DataSet אלא על ההתנהגות של הVS.
    הוא פשוט משתמש מאחורי הקלעים בCommandBuilder, הכלי הזה יוצר שאילתות בחירה+מחיקה+עדכון+הוספה אוטומטית לפי סכמת הטבלה.
    למעשה הוא ממש עובד כמו גולם אבל זה חוסך שגיאות הקלדה וקוד עם לולאות לעבודה זהה.
    אבל, הוא לא נביא. וזה אומר שכמקור הנתונים מורכב משתי טבלאות, מאיפה לו לדעת מה לעשות במקרה הוספה? מחיקה? עדכון? אפשר להתווכח עם השאלה שאני מציב, אבל זה המצב. אם אתה רוצה תוכל להוסיף ידנית בחלון הדיזיינר של הDS פקודות SQL (בבחירת האדפטר מתחת לכל טבלה, במאפיינים. בגירסאות טרם 2013 יש עורך שאילות מעולה). כמו"כ תוכל תמיד בקוד לעשות מה שבא לך.

    בברכת אקלום קל בתסבוכת ADO.NET... 🙂 אני עצמי מסובך בזה מאוד, וזה כבר שנים...

    פורסם במקור בפורום CODE613 ב09/01/2014 17:27 (+02:00)

    ארכיון code613m

  • tabControl WPF
    dovidD dovid

    אם ככה הקוד צריך לעבוד מעולה, מה הבעיה בו?

    בהתחלה לא הבנתי אותך כי חשבתי שאתה רוצה לחבר את הכרטסות לאנשי קשר עצמם:
    @שמואל

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

    ככה גם נראה מהאיגוד FName וLName שהכרטסת מתייחסת לאדם ולא לעיסקה.
    וכעת אתה כותב:
    @שמואל

    אני רוצה עבור כל עיסקה כרטיס בודד מתוך טאבקונטרול

    פורסם במקור בפורום CODE613 ב14/01/2014 13:08 (+02:00)

    ארכיון code613m

  • tabControl WPF
    dovidD dovid

    @שמואל

    זה הקוד הוא מחובר לאייטמסורס של כל איש קשר נוכחי

    לא הבנתי.
    כמובן גם שלא הבנתי את הDataContext ואת הItemsSource.

    פורסם במקור בפורום CODE613 ב14/01/2014 12:27 (+02:00)

    ארכיון code613m

  • tabControl WPF
    dovidD dovid

    תראה מה שניסית.

    פורסם במקור בפורום CODE613 ב14/01/2014 11:31 (+02:00)

    ארכיון code613m

  • tabControl WPF
    dovidD dovid

    @שמואל

    @דוד ל.ט.
    כעת אתה צריך

    א. ליצור קולקשיין ויו בריסורס,
    ב. לחבר את הitemSource של הטאב קונטרול לקולקשיין הזו.
    ג. לטפל בקוד של לחיצה כפולה/בודדת בליסט בוקס, שם לדעת איזה אייטם נלחץ ולהוסיף אותו לקולקשיין הנ"ל.

    א. קודם כל כבר יש לי את הקולקשין של המחלקה של הביינדינג האם אני צריך דווקא קולקשין ויו?
    ב. מה שקורה שהוא יוצר לי אייטם לכל אחד בצורה רציפה בעצם כמו טאב קונטרול חדש לכל רשומה

    וא"ת, למה צריך קולקשיין ויו, בא נשתמש בקולקשין של המחלקה של הביינדינג?
    וי"ל, דאם משתמשים באותו המקור, מה שקורה שהוא יוצר לי אייטם לכל אחד. והרי אנו רוצים שהוא יציג רק חלקם (נאמר מה שנבחר וכיוצ"ב).

    🙂

    יש לדעת שקולקשיין ויו לא באמת מכיל עצמים כפי שכתבתי בעבר: http://tchumim.com/topic/211
    אז עם רוצים להציב לו ערכים או שיצורים כל פעןם קולקשייין ושמים במאפיין Source, או שמחברים אותו לאותו המקור של הליסטבוקס ומוסיפים לו פילטר.

    פורסם במקור בפורום CODE613 ב13/01/2014 12:51 (+02:00)

    ארכיון code613m

  • tabControl WPF
    dovidD dovid

    @ארכיטקט

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

    כבר דובר על זה בפוסט אחר.

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

    פורסם במקור בפורום CODE613 ב09/01/2014 12:59 (+02:00)

    ארכיון code613m

  • tabControl WPF
    dovidD dovid

    קודם תצייר כרטסת אחת עם הבינדינגים (כאילו הדטה קונטקסט של הכרטסת הוא כרטיס אחד מתוך הליסט) המתאימים איך שאתה צריך.
    אח"כ תשים את כל הTabItem שיצרת בתוך DataTemplate שאותה תשים בTabControl.ItemTemplate בדיוק כמו שעושים עם ListBox.

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

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

    פורסם במקור בפורום CODE613 ב09/01/2014 12:33 (+02:00)

    ארכיון code613m

  • WPF הצגת דטה-גריד עם עמודת קומבו להצגת קשרי גומלין
    dovidD dovid

    הגרירה והשחרור נותנים תוצאות נחמדות אך שקשה לי לשער מה קרה שם.
    עקוב אחר מקור הנתונים של הקומבובוקס (אני משער שזה עובד דרך קולקשיין), וודא שהוא מטבלת הקטגוריות.
    כמו"כ קבע לSelectedValue את הקטגוריה הנוכחית.
    ובדיוק מה ששמואל כתה הDisplayValue שים שם שם סטרינגי, שתואם בדיוק לשם השדה (שאתה רוצה שייצג מבחינת תצוגתית) של שבטבלת הקטגוריות.

    פורסם במקור בפורום CODE613 ב09/01/2014 13:20 (+02:00)

    ארכיון code613m

  • שגיאה ב- listBox WPF
    dovidD dovid

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

    אם הבנתי מה אתה רוצה שיקרה לבסוף, זה הקוד המתאים:

    <ListBox ItemsSource="{Binding hoksForSelactedContact}"  Width="150" Height="150">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding nameOwnerOfTheAccount}"/>
                    <TextBlock Text="{Binding blaBla}"/>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
    

    פורסם במקור בפורום CODE613 ב09/01/2014 11:38 (+02:00)

    ארכיון code613m

  • שגיאה ב- listBox WPF
    dovidD dovid

    הבעיה היא שיש אובייקטים בתוך הליסט.
    תראה את הXAML של הליסט, אם זה לא נראה לך הבעיה.

    פורסם במקור בפורום CODE613 ב09/01/2014 11:01 (+02:00)

    ארכיון code613m

  • WPF הצגת נתונים מ SDF
    dovidD dovid

    אני עובד קשה. אני גם לוקח מהלקוח על זה (אין לי לקוחות 🙂 :lol: ).
    אבל התוצאה בהתאם.
    זה כמו "עבודת יד" :)....

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

    פורסם במקור בפורום CODE613 ב09/01/2014 17:45 (+02:00)

    ארכיון code613m

  • WPF הצגת נתונים מ SDF
    dovidD dovid

    @רחמים

    יפה, אז גם את זה כבר יש מוכן 🙂
    ומה לגבי קשרי גומלין, זה יכול להיות מובנה בתוך המסד או רק בתוך הדטה-סט, והאם אפשר להציג את הרשימה מהטבלה המקושרת בתוך עמודת קומבו בלא להזדקק ל EF ?

    התשובה חיובית על הכל.

    פורסם במקור בפורום CODE613 ב09/01/2014 17:32 (+02:00)

    ארכיון code613m

  • WPF הצגת נתונים מ SDF
    dovidD dovid

    @ClickOne

    עדיין לא כ"כ מובן למה מייקרוסופט בחרו לפצל את הDataSet ל 3 אובייקטים שונים, (אני מדבר על המרכזיים, ולא על המימוש מאחורה), ולא להשתמש באובייקט אחד כמו בASPX (אני לא מדבר על LTS, אלא אפילו על אובייקט המקשר ישירות לSQL SERVER ואפילו לאקסס. 😢 :lol:

    שוב אתה עם ההבדל...
    אבל יש הרבה כלים שכוללים את כל הכלים הללו ותת הכלים שבתוכם בצורה מאוד שקופה למתכנת. טוב? תלוי למי..

    פורסם במקור בפורום CODE613 ב09/01/2014 17:31 (+02:00)

    ארכיון code613m

  • WPF הצגת נתונים מ SDF
    dovidD dovid

    @רחמים

    אגב ראיתי דבר מאוד יפה שמאוד מקל על יצירת פקדים להצגת הנתונים וזה ממש כמו באקסס אפשר לגרור את הטבלה מתוך ה Data Sources window ולשחרר ב WPF Designer והוא כבר יצור לבד דטה-גריד או פקדים מסודרים יעויין כאן.

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

    פורסם במקור בפורום CODE613 ב09/01/2014 17:29 (+02:00)

    ארכיון code613m

  • WPF הצגת נתונים מ SDF
    dovidD dovid

    שכחתי דבר חשוב.
    dbCommandBuilder.

    פורסם במקור בפורום CODE613 ב08/01/2014 18:24 (+02:00)

    ארכיון code613m

  • WPF הצגת נתונים מ SDF
    dovidD dovid

    יש הרבה גישות לעבודה עם מסד בדוט נט.
    כל הגישות משתמשות בADO.NET שזו הטכנלוגיה לגישה לנתונים בדוט נט - לא משנה מה סוג המסד (MSSQL, MySql, ORACLE, ACCESS, SqlLite ועוד הרבה).

    הדרכים הם כאלה:

    1. DataAdapters + DataSet\TypedDataSet
    2. DataAdapters + טיפול "ידני" בנתונים (זה מה שיש שם בקישור).
    3. LinqToSql* מוכר גם בקיצור LTS.
    4. Entity Framework* מוכר מאוד כEF.

    3 ו4 שמתי כוכבית, כי הם לא זמינים לכל מסד, כי צריך לממש אותם לכל אחד (כמו רוב הקומפוננטות בADO.NET, המימוש נעשה בידי חברת המסד או מישהו אחר), מיקרוסופט מימשו לMSSQL בלבד, צדדים שלישיים שונים מימשו לאחרים כמו SqlLite.
    לאקסס (משום מה :)) אף אחד לא מימש אותם.
    3 ו4 מתייחדים בכך שהם מאוד עיליים, אין בכלל גישה מפורשת בקוד לנתונים! כמו"כ הם מאפשרים להתחיל את המערכת בצד המודל או הקוד, וממנו ליצור את מבנה הDB ולא להיפך כמסורת שהייתה.

    דרך נכונה ופשוטה, אולי יש. גנרי, אם הכוונה שהתוכנה תידע להתנהג יפה עם מסד שנולד אחריה, זה תלוי בך...
    מה נכון ופשוט? אז 3,4 מחייבים את האפליקציה להכיר את המסד בזמן עיצוב. וזה ממש לא גנרי.
    1 (למעט TypedDataSet) ו2 יכולים לתת לך את מה שאתה רוצה.

    הכרת הADO.NET:

    המחלקות העיקריות, חלקם אבסטרקטיים (לכל מחלקה יש יורשים ייעודיים לכל מסד)

    DbConnection = אבסטרקטי. מחלקת חיבור, קישור לשרת/קובץ המתאים עם פרמטרי התחברות נדרשים ואופציונליים. מחרוזת החיבור היא סטרינג, ויש פקודת פתיחה וסגירה של ההתקשרות. כוללת פקודה בשם GetSchema, שנותנת כל מה שניתן לדעת על המסד (טבלאות שאילתות וכו').
    DbCommand = אבסטרקטי. מחלקת פקודה, מאפשרת לשלוח למסד פקודה (כמו SELECT וכו'). זה כולל פקודה שאינה שאילתה, או פקודת שאילתה שמחזירה ערך בודד או ערכים רבים שנקראים ע"י אובייקט Reader שיבוא בסמוך.
    DbDataReader = אבסטרקטי. מחלקה שקוראת שורות מתוצאות פקודה שהורצה לשרת. הקריאה מבוצעת ע"י פקודה שמחזירה מערך אובייקטים עבור שורה בודדת. הפקודה מחזירה ערך הוליאני חיובי במקרה והגיעה שורה (לא נגמרה הרשימה).
    DataAdapter = (לא אבסטרקטי ממש, אבל כמעט... כי בכל מסד משתמשים בייעודי לצורך התאמה וביצועים משופרים) מחלקה שמתווכת בין כל האובייקטים הנ"ל לבין האובייקט DataSet שיובא בסמוך. תיווך זה חוסך לולאות וכדומה (וזה חיסכון ענק ונוח), לא מעבר לכך.
    DataSet = מחלקה שמייצגת אוסף טבלאות שכולן ב"אויר". הנתונים בטבלה חיים למעשה בזיכרון החי. המחלקה דומה למסד עם אוסף טבלאות - (מחלקת DataTable מחלקה זו נראית ממש כמו טבלה: יש לה עמודות (מחלקת DataColumn), שורות (מחלקת DataRow) אילוצים וקשרים ועוד), קשרים בין טבלאות, ובעיקר היא (וגם הDataTable בזכות עצמה) "כפפה ליד" לDataAdapter האמור לעיל, ולכן היא פועלת איתו בצורה ממש מקילה, היא זוכרת איזו שורה הייתה במקור, איזה שונתה, איזו התווספה, וע"י זה הDataAdapter יודע איזו פקודה להפעיל אם בכלל לכל שורה.
    DbCommandBuilder = אבסטרקטי. מחלקה שיוצרת על פי סכמת טבלה את כל הCommand של פעולות CRUD (ר"ת Create, read, update and delete). צריך לשאוב ממנה אחת אחת מהללו, והיא עושה זאת יפה מאוד כל עוד העסק לא מורכב.

    יש עוד אובייקטים, אבל התייחסתי לעיקריים.

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

    פורסם במקור בפורום CODE613 ב08/01/2014 12:40 (+02:00)

    ארכיון code613m

  • קוד לחישוב מעמ
    dovidD dovid

    @ארכיטקט

    יש לך 4 אפשרויות של נעלמים:
    שיעור המעמ באחוזים (כאשר סכום המעמ ידוע, והסכום לפני או אחרי גם כן ידועים)
    סכום המעמ (כאשר הכולל והאחוזים ידועים)
    סכום לפני מעמ (כאשר הכולל והשיעור ידועים)
    סכום כולל מעמ (כאשר הסכום לפני והאחוזים ידועים)

    אז ההמלצה שלך זה 4 פונקציות???? נשמע קצת יותר מבלבל לא?

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

    פורסם במקור בפורום CODE613 ב07/01/2014 16:57 (+02:00)

    ארכיון code613m

  • קוד לחישוב מעמ
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב07/01/2014 16:10 (+02:00)

    ארכיון code613m
  • 1 / 1
  • התחברות

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

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