לא נתקלתי בתופעה.
תוכל להדריך אותי מה לעשות כדי להיווכח בה?
פורסם במקור בפורום CODE613 ב22/01/2014 19:40 (+02:00)
לא נתקלתי בתופעה.
תוכל להדריך אותי מה לעשות כדי להיווכח בה?
פורסם במקור בפורום CODE613 ב22/01/2014 19:40 (+02:00)
רחמים, לא לשכוח עכשיו לקשר את השירשור הזה לשירשור של הפלטפורמה, ולתת לנו עוד סיבה למה לא אקסס. אני יענה לך מעכשיו: בפיתוח של דוטנט הבעייה הפוכה: א"א לפתוח פרוייקט שנוצר או נשמר בגירסה חדשה, בVS גירסה ישנה (אני מדבר על הVS ולא על הFramework), אבל לפחות שם כשמקמפלים זה עובד...
:lol: :lol:
אני עושה את העבודה במקומו...
וכמובן התשובה שלך חלשה 
פורסם במקור בפורום CODE613 ב21/01/2014 11:10 (+02:00)
מוסד צריך אבא ואמא לתוכנה, הוא לא יכול להסתמך על משהו שעשו אותו בשביל התחביב או בשביל האתגר. הוא ירצה שירות, הטמעה, שיהיה למי להתקשר כשהוא צריך, וחוץ מזה הצרכים מורכבים מאוד אחריות גדולה, כשמשהו קטן לא בסדר כל המערכת מושבתת. אז אם מישהו רוצה ויש לו עצבים להתקשקש עם מוסדות, זה כבר עבודה זה לא בדיוק אתגר נחמד...
יש את האתגר הנחמד (בניית התוכנה) ויש את העבודה (הטמעה תמיכה ועצבים :)) שנשאיר לשתיכם....
פורסם במקור בפורום CODE613 ב26/01/2014 13:39 (+02:00)
אולי, אולי ואולי... מממ... מוסד.
אבל זה כמובן לא יהיה חינמי, ואולי נפתח פורום סגור עבור כך.
צריך גם לעשות חוזון קטן בין משתתפי הפורום ובינך לגבי המניות...
מאוד מגרה אותי.
פורסם במקור בפורום CODE613 ב26/01/2014 11:26 (+02:00)
יש כמה תוכנות לניהול בתי כנסת
נראה שניהול בית חכם עדיף
אבל אין גבייה וכו'...
פורסם במקור בפורום CODE613 ב22/01/2014 17:42 (+02:00)
אני מאוד בעד ללמוד Nodejs אבל חייבים לעשות סדר לא ללמוד הכל ביחד...
ואגב magicode בקשר לחומרה+תוכנה היקרים בשביל מיקרוסופט אני מסכים לגמרי, אבל מגיע להם. בשביל זה הם עושים דברים כ"כ יפים ויעילים בפלטפורמה שלהם...
פורסם במקור בפורום CODE613 ב21/01/2014 11:11 (+02:00)
ברור שאתה חייב לתת לדטה קונטקסט של האלמנט (קראת לו סטאק פאנל, אבל זה רק במקרה, זה יכול להיות אלמנט אחר לחלוטין) את המידע הרלוונטי כעת.
ואם ככה אתה עושה זה נראה לי אמור לעבוד. לא יודע למה לא עובד לך.
בקשר לתכנון, אני מתנצל, אין לי רעיון יותר טוב. זה אכן הדרך לעשות.
פורסם במקור בפורום CODE613 ב21/01/2014 18:57 (+02:00)
הקטע עם הגנריות כאן זה לא נראה לי תכנות נכון. כלומר ניתן להגיע לכל תוצאה מבוקשת בלי השמניות הללו.
והפוקנציה שהבאת קשורה אכן לדברי, אבל לא בדיוק.
היא מחזירה סוג מבוקש מתוך עץ אלמנטים, בעוד אתה רוצה הכל.
חוץ מזה היא מקבלת כפרמטר DependencyObject כשלך ביד יש רק DataTemplate לכן אמרתי שתיצור אובייקט ע"י המתודה LoadContent.
פורסם במקור בפורום CODE613 ב21/01/2014 14:31 (+02:00)
ותכלס איך אם אני מקבל איזה טמפלט אני יכול לדעת מאיזה פקדים הוא מורכב ומה הבינדינג שלהם.
הבקשה לא הכי הגיונית, כי אתה יכול להסתכל בXAML.
אם מדובר בטמפלט לא שלך, בVS שלי הוא נותן הכל כשעושים Edit Style. אבל זה אכן לא קיים ב2010.
בכל אופן, נדמה לי שתוכל לעבור על עץ האלמנטים ע"י הפוקנציה "LoadContent". היא מחזירה לך אלמנט, אתה צריך לבדוק מהו, ואם יש לו בנים, וכן הלאה. לא הכי נחמד.
פורסם במקור בפורום CODE613 ב21/01/2014 14:14 (+02:00)
אתה לא רואה אותם כי הם מוגדרים כFriend או יותר מדוייק הם אינם Public.
תוכל להיווכח בכך ע"י הObject Browser אם תגדיר שיראה גם מאפיינים לא ציבוריים.
פורסם במקור בפורום CODE613 ב21/01/2014 12:38 (+02:00)
שמואל ורחמים ClickOne, הקוד שלכם לא טוב.
הDefault Value יהיה הזמן בו הרצתם את הקוד הזה גם לשורות שנוצרו שלוש שעות אחרי כן.
ובכלל שמואל אתה שאלת שתי שאלות ממש לא קשורות!
א. איך להתגבר על השגיאה של NullValue
ב. איך להשים בעמודת תאריך את תאריך יצירת השורה, ללא כתיבה מפורשת בכל פעם שנוצרת שורה.
על השאלה הראשונה ClickOne (מהדורא קמא.. לא הקוד) ענה מעולה עם המצב עיצוב של הDS. אם כי המעלה בקוד שלכם (מביניהם הטוב הוא האחרון של רחמים) שההגדרה נשארת במקרה יצירת הDS מחדש.
על השאלה שנייה אני עניתי לעיל, יעויין שם (קוד בן שורה שמוקפץ באירוע יצירת שורה).
עד כעת נוצר לי ה DataSet ע''י אשף שנפתח לאחר שהוספתי לפרוייקט את המסד נתונים, ובאמת יצר את כל המחלקות הרבות שלו, וזה מה שאתה קורה TypedDataSet ?
כן, ואפשר לומר שאתה די צריך את הTypedDataSet בגלל הבינדינגים מבוססי השם. אם כי בכל מקרה חסר לך עדיין את הINotifyPropertyChange שדי נחוץ במקרים כאלו, אז אכן תשקול לוותר על שירותיו של האשף הנחמד, אם ממילא תכתוב קלאסים להכל (כפי שעושים שמואל וארכיטקט יעויין באשכול בו הם שוחחו).
@רחמים
אז איך אני יוצר DataSet רגיל בלא כל הבלגאן ?
Dim dataSet = New DataSet
פשוט, אהה?
וככה מוסיפים טבלה:
dataSet.Tables.Add("MYTABLE")
ובדרך כלל לא עושים זאת, כי האדפטר שממלא את הטבלה גם יוצר אותה אם היא לא נמצאת:
Dim da As OleDbDataAdapter = New OleDbDataAdapter("SELECT * FROM MYTABLE", New OleDbConnection(ConnStr))
da.SelectCommand.Connection.Open()
'ע"י פקודה זו נוצרים בדטה סט כל הטבלאות + ממולאים בנתונים
da.Fill(dataSet)
da.SelectCommand.Connection.Close()
ובדיוק הרעיון שקורה כאן, שבמיקרוסופט הפיצ'ר מוכר יותר מהבסיס, זה הייתה תלונתו של magicode. אבל בכל אופן אין כמו MS....
פורסם במקור בפורום CODE613 ב22/01/2014 11:35 (+02:00)
לגבי הINotifyPropertyChange אני משתמש בארוע שינוי שורה ומחיקת שורה בתוך ה DataTable
זה מגושם מאוד אם אתה צריך לעדכן בינדינגים ככה.
אפשר קישור לאשכול של שמואל וארכיטקט
לשירותך, http://tchumim.com/post/558
תרווה נחת.
אני גם חשבתי על רעיון אחר, לעשות דטה סט משלי שיותר מתאים לקרוא לו 'מנהל טבלאות' שרק מקבל את מחרוזת ההתקשרות למסד הוא כבר לבד בונה אוסף של טבלאות על פי הסכמה של המסד, וכאשר רוצים למלא איזה דטה גריד פשוט שמים לו באייטס-סורס איזה טבלה וזהו. וכשרוצים לעדכן קוראים לפונקציה 'עדכן' עם פרמטר אחד שהוא שם הטבלה, משהו פשוט וגנארי לחלוטין.
לא צריך את המחלקה הארוכה שלך, די בארבעת שורות הקוד דלעיל.
וזה חוסך את כל הקלאסים הארוכים של הדטה סט הרגיל רק מה זה לא ויזואלי אלא הכל בקוד.

פורסם במקור בפורום CODE613 ב22/01/2014 13:34 (+02:00)
@דוד ל.ט.
לא צריך את המחלקה הארוכה שלך, די בארבעת שורות הקוד דלעיל.ארבע שורות קוד עבור כל טבלה שיש לך בתוכנה כך שאם יש לך 10 טבלאות יש לך 40 שורות קוד, לאומת זאת הרעיון שלי שמנהל הטבלאות בצורה גנארית יכין את הכל, על פי הסכמה, ובתוך התוכנית יהיו לך רק קריאות למילוי דטה גריד ולעדכון טבלה במסד.
לא ממש.
האדפטר הוא זה שכפול מס' הטבלאות, וזה כבר לא ארבע שורות.
ונכון זה תמיד טוב למדר למחלקה נפרדת את ה"לכלוך".
אבל זה בדיוק DataSet רגיל, כלומר השאלה אם לעשות זאת באותה המחלקה או לא, לא הופכת את המחלקה שלך לשווה ערך לTypedDataSet שמביאה מעלות, מעטות אמנם.
פורסם במקור בפורום CODE613 ב22/01/2014 14:40 (+02:00)
תהיה בריא...
אתה צודק, כמו שאתה משתמש זה מעולה, ובדרך זו גם בכלל לא צריכים את הTypedDataSet (כלומר DataSet רגיל מספיק).
כל קיומו נועד ליצור שכבת אובייקטים קשוחים ולא אוספי אובייקט כמו הDataRow הרגיל.
בשביל מה טיפוסים קשוחים?
א. למנוע שגיאות. שלא תכניס טקסט בשדה מספרי.
ב. להקל על הקריאות בקוד
ג. להתמצאות בשדות ע"י ההשלמה אוטומטית
פורסם במקור בפורום CODE613 ב21/01/2014 22:28 (+02:00)
נכון, אני שוטה לגמרי. בItemArray לא תהיה לך שגיאה אף פעם.
הבעיה זה בגישה למאפיינים.
אם תכתוב: Dim a = Row.FieldName בהנחה שFieldName הוא ריק, תקפוץ לך שגיאה.
ואל תטרח לומר לי אם זה עבד לך...
פורסם במקור בפורום CODE613 ב21/01/2014 22:09 (+02:00)
מחקתי כמו שאמרת ולא קפצה שום שגיאה.
נכון, כי זה עדיין DataRow... רק כעת שמתי לב שלמעלה כתבת As DataTable... במקום DataTable תכתוב את שם הTypedDataTable שלך.
זה אמור להיראות ככה: XxxxDataSet.XxxxDataTable. במקום הX יהיה לך את שם הDS והטבלה בהתאמה.
פורסם במקור בפורום CODE613 ב21/01/2014 21:58 (+02:00)
האם הקוד הבא אמור לקבל שגיאה?
לא, הקוד לא אמור לזרוק שגיאה.
אתה ממיר כל שורה לDataRow רגיל.
אם תמחק את המילים As DataRow והטיפוס יישאר TypedDataRow הוא יזרוק שגיאה.
פורסם במקור בפורום CODE613 ב21/01/2014 21:02 (+02:00)
עוד הערה:
כאלה שמשתמשים הרבה עם הTypedDataSet, יכולים לשקול לרשת את הDS+DT+DR. ולקסטם אותם.
זה ממש נוח, ולא נמחק בייבוא מחדש וכדומה.
כל דבר שלא רוצים לקסטם, לא צריך לכתוב לו קוד.
פורסם במקור בפורום CODE613 ב21/01/2014 11:48 (+02:00)