בחיפוש באינטרנט מצאתי את זה: http://www.caspit.biz/HelpItem.aspx?id=840
לפי המבואר שם, אז עליך להתקין את סביבת Adaptive (מותקנת עם הרווחית) אח"כ אפשר לתשאל עם תקשורת ODBC.
פורסם במקור בפורום CODE613 ב02/02/2014 14:25 (+02:00)
בחיפוש באינטרנט מצאתי את זה: http://www.caspit.biz/HelpItem.aspx?id=840
לפי המבואר שם, אז עליך להתקין את סביבת Adaptive (מותקנת עם הרווחית) אח"כ אפשר לתשאל עם תקשורת ODBC.
פורסם במקור בפורום CODE613 ב02/02/2014 14:25 (+02:00)
בדוק שימוש בPopup.
תחפש על זה תלמד את זה, ותראה אם זה מתאים לך.
אגב, בWinForms, אם אני זוכר טוב, Rectangle לבד לא היה עוזר לך לשם כך.
פורסם במקור בפורום CODE613 ב02/02/2014 14:29 (+02:00)
תואיל להסביר מה אתה צריך, מה תעשה עם המידע הזה אח"כ.
פורסם במקור בפורום CODE613 ב02/02/2014 13:28 (+02:00)
אכן לזה התכוונתי.
איך ניחשת?
פורסם במקור בפורום CODE613 ב02/02/2014 17:23 (+02:00)
הכי פשוט לבטל את המחיקה ולממש את זה לבד בלחיצת Delete.
פורסם במקור בפורום CODE613 ב02/02/2014 15:36 (+02:00)
איפה אתה רואה פה תשובה?
רק הבאתי את המאפיין הרגיל איך הוא נראה שבעצם הערך המוחזר הוא לא סתם ערך השמור באיזה משתנה אלא פעולת קוד שמביאה תוצאה מסויימת, ואחר כך הבאתי צורה קלאסית של מאפיין תלות ששם רואים שהמאפיין הוא 'רק' מכניס ומוציא ממשתנה התלות ולא עושה חישובים עם הקוד, אז השאלה איך משלבים את זה.
אני מקווה שזה מובן, אם לא אסביר יותר.
אכן יש צורך בהסבר נוסף.
בעיקר להפריד בין השאלה במקרה של תיבת הטקסט, לבין הרעיון של מאפיין תלותי.
אתה לא אמור לשלב בין מאפייין למאפיין תלות, אתה אמור ליצור מאפיין תלות ולתת לו גישה ממאפיין רגיל בדיוק כמו הדוגמה של Age.
אני מנחש שאתה שואל איפה לעשות את הקוד הביצוע במקרה של SET.
אז התשובה היא שימוש בPropertyChangedCallback כמו שכתוב פה במקטע Coerce Value Callbacks and Property Changed Events.
פורסם במקור בפורום CODE613 ב05/02/2014 12:32 (+02:00)
הבעיה היא שכשיש לImage סטייל מקומי אז פתאום הImage יורש מאבותיו את FlowDirection הRTL.
לא יודע למה זה קורה.
הפתרון ממש פשוט, להוסיף בפירוש הLTR לתמונה:
<Style TargetType="Image">
<Setter Property="FlowDirection" Value="LeftToRight" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="False">
<Setter Property="Opacity" Value="0.5" />
</Trigger>
</Style.Triggers>
</Style>
פורסם במקור בפורום CODE613 ב02/02/2014 13:24 (+02:00)
כל הסטייל פה? ניסית אותו בסביבה נקייה (פרוייקט נקי)?
פורסם במקור בפורום CODE613 ב02/02/2014 11:07 (+02:00)
בקוד זה הולך ככה:
Validation.GetErrors(DataGridRow)
במקום DataGridRow יכול לבוא כל פקד WPF, שיש בו או בצאצאיו קלט עם בינדינג כמדומני.
בXAML, עם בינדינג לאלמנט, הנה דוגמא לבינדינג לאלמנט הנוכחי:
"{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors)[0].ErrorContent}"
זה יכול להיות גם בטקסט בוקס וכו', זה התנהגות שישנה בכל פקדי קלט.
כפי שאתה רואה הXAML ניגש לאינדקס מס' אחד, כי יכולים להיות כמה שגיאות, של כמה תאים למשל (אם תחבר את זה לתא ולא לשורה, אז תמיד תהיה רק שגיאה אחת).
אז אם אתה רוצה להציג הכל תצטרך להשתמש בItemsControl.
תוכל להשתמש עם טריגר על Validation.HasError.
בשביל לשנות את התנהגות התצוגה בWPF במקרה של שגיאה יש מאפיינים מוכנים כמו ValidationErrorTemplate שמקבלים ContrleTemplate.
ברמת השורה תוכל גם לשנות את הסימן קריאה וכיוצא בזה.
פורסם במקור בפורום CODE613 ב30/01/2014 18:09 (+02:00)
לרוב רובם של הפונקציות, לא מדובר במשהו שמצריך שפה טובה יותר מאשר TSQL.
כך לדעתי.
פורסם במקור בפורום CODE613 ב30/01/2014 18:11 (+02:00)
תודה רבה על הפירוט וההשקעה!
@דוד ל.ט.
דבר שלישי תלמד איך עושים בSQL SERVER כלל אימות, כלומר "אילוץ" - Constraint, מסוג בדיקה שזה CHECK.http://technet.microsoft.com/en-us/libr ... (v=sql.105).aspx
הקישור לא נפתח.
תוקן.
פורסם במקור בפורום CODE613 ב02/02/2014 11:05 (+02:00)
[size=150:39a3bi3s]דבר ראשון[/size:39a3bi3s], חשוב לך לדעת שזה לא יחסוך ממך את הבדיקה בצד לקוח, כלומר בקוד התוכנה.
אם לא תעשה זאת, תקבל שגיאה. גם אם תטפל בשגיאה, התגובה תהיה לא יעילה ואף איטית בהתאם לתקשורת עם המסד.
אני אבין אם מידע זה יגרום לך לשקול שוב האם לעשות את הבדיקה גם ברמת המסד.
[size=150:39a3bi3s]דבר שני[/size:39a3bi3s], תלמד איך עושים פונקציה בSQL, זו פעולה חד פעמית לכל סוג פונקציה:
http://msdn.microsoft.com/en-us/library/ms186755.aspx
דוגמה בסיסית ופשוטה: http://stackoverflow.com/a/14550528/1271037
כמובן שזה כולל הכרת השפה TSQL, שנחשבת פשוטה וקלה. עם יש לך שאלה ספציפית (לולאה, משתנים, תנאים) פתח אשכול לכל שאלה.
[size=150:39a3bi3s]דבר שלישי [/size:39a3bi3s] תלמד איך עושים בSQL SERVER כלל אימות, כלומר "אילוץ" - Constraint, מסוג בדיקה שזה CHECK.
קישור מתוקן
תמצות שתי הדברים האחרונים:
http://connectsql.blogspot.co.il/2011/01/sql-server-function-based-check.html
פורסם במקור בפורום CODE613 ב30/01/2014 13:58 (+02:00)
אצטרף להמיר את המאפיין למאפיין תלות.
כדאי לך לחשוב שוב לפני שאתה עושה זאת.
אתה רוצה קישור בזמן עיצוב בין קומבובוקס לרשימת עמודות.
אפשרות ראשונה: רשימת העמודות הרי לא נוצרה מאיליהם, יש להם מקור, אולי תוכל לחלוק את אותו המקור עם שניהם?
אפשרות שניה: אם זה דפוס פעולה אוטומטי, שהיוזר קונטרול מתממשק לכל רשימת הטבלאות והעמודות, תוכל לעשות מאפיין בודד של רשימת טבלאות במערך, והקומבו הראשון יפנה למיקום וממנו הID השני ייקח. את רשימת הטבלאות תוכל לקחת בקוד ע"י חיפוש בParent בו הוא נמצא אחרי כל הDataGrid (אפשרות גרועה מבחינתי), או שוב ישירות למקור המידע של הדטה גרידים.
הצלחה.
פורסם במקור בפורום CODE613 ב30/01/2014 13:26 (+02:00)
נראה לי שאם הוא עושה.
Wpf.TargetDataGrid = MyDataGrid;והVS אומר לו שזה תחביר שגוי.
אז זהו שלא...
בקוד לא ניסית להגדיר את המאפיין של טבלת היעד אלא בחלונית המאפיינים של הסרגל, כאשר אני בא להגדיר את המאפיין הזה נפתח קומבו עם שורה אחת שאם בוחרים אותה נוצר דטה גריד חדש ואין בקומבו הזה את הדטה גריד שכבר קיים בטופס,
לאומת זאת בWIN FORMS בקומבו הנ''ל יש את כל הדטה גרידים שיש בטופס.
"לא בקוד, אלא בחלון המאפיינים" = לא בקוד אלא בXAML.
אם תחשוב תבין למה אי אפשר. XAML הוא לא קוד רקע, אלא צורה הצהרתית ליצירת אובייקטים בלבד!
בXAML אפשר להעביר מידע או בצורת סטרינג, או בצורת Markup Extension שזה הסוגריים המסולסלות, בהם יש כמה דרכים נוספים לתת מידע (אפשר ליצור כאלה נוספים).
אז איך אתה רוצה לתת את הגריד הפציפי בתור מאפיין? אם כסטרינג של שמו, בשמחה, אבל אתה חייב לטפל במחלקה שלך בתרחיש של בנאי סטרינג ולא פקד גריד.
ואם כבינדינג לאלמנט אתה אכן יכול רק שמאפיין רגיל לא תומך בבינדינג כך שתצטרך לכתוב Dependency Property.
פורסם במקור בפורום CODE613 ב30/01/2014 12:21 (+02:00)
חבל שבחרת לסתום ולא לענות בפירוש מה אתה רוצה באשכול זה מבין האפשרויות שנשאלת.
אני עונה בהנחה שבחרת את האפשרות השנייה: למה הקוד שכתבת לא עובד.
אבל כאשר אני בא להגדיר את המאפיין הנ''ל שיפנה לדטה גריד שקיים בטופס זה לא אפשרי.
איפה אתה "בא להגדיר" ומה הכוונה "לא אפשרי" המסך מתפוצץ?
פורסם במקור בפורום CODE613 ב29/01/2014 19:34 (+02:00)
דבר ראשון יש לך צורך בסרגל ניווט ואתה מנסה לעשות זאת בWPF. לא לגמרי הבנתי מה הכוונה בסרגל ניווט.
דבר שני עשית קוד וזה לא עבד וזה בעיה נוספת. לשם פיתרון שלה, מוכרחים לראות את הקוד לבעיה זו (מאפיין יעד? סוג מה מי, ואז מה קורה?).
והבעיה השלישית, שצורת עבודה זהה לקוד זה עובד בWinForms כלומר גם אם נפתור את שתי הבעיות הקודמות, תישאר שאלה למה זה שונה.
ובכן לאיזה שאלה הכי חשוב לך שאתייחס כעת?
בשביל שאלה א' אני צריך הרחבה של מה את רוצה שיהיה ובשביל שתי השאלות האחרות אני צריך קוד WPF, בשביל השלישית אני צריך קוד WinForms.
ואנא בחר שאלה אחת בלבד, אחרי שנגמור איתה נעבור לאחרת.
פורסם במקור בפורום CODE613 ב29/01/2014 19:00 (+02:00)
ImageList זה לא פקד. זה כמו Timer, זה קומפוננטה (=רכיב), מין קלאס שיכול להיות גם בזמן עיצוב.
לא זוכר מה הImageList עושה וממילא לא יודע להגיד לך איך עושים בWPF.
אם תגיד בדיוק מה אתה רוצה לעשות בWPF, אולי אדע איך לעשות.
עריכה:
מדפדוף קצר באינטרנט אני רואה שזו דרך להקצות לפקדים רבים תמונות לפי אינדקס כאשר כולם חולקים את אותה רשימה.
בעצם היתרונות של זה זה ריכוזיות, וחיסכון בכפילויות.
אפשר ליישם את זה בWPF אבל הייתי שמח שתרחיב מה הצורך המדוייק.
פורסם במקור בפורום CODE613 ב29/01/2014 18:20 (+02:00)
אני חושב שצריך ללכת על המרת המסמך לFixedDocument, זה אמור להיות קל (אם זה קל אז מה זה קשה :)) כי התחביר שלהם ממש זהה בהרבה.
תכלס, אם מה שניצב בפנינו זה הפיכת DOCX לXPS/FixedDocument אז הנה כמה מחלקות חופשיות שעושות זאת:
http://www.codeproject.com/Articles/649064/Show-Word-file-in-WPF
http://www.codeproject.com/Articles/25071/OpenXML-FlowDocument-OpenFlowDocument
http://www.codeproject.com/Articles/24220/Generate-XPS-from-Word-documents-with-VB-2008-and
http://www.c-sharpcorner.com/uploadfile/mahesh/viewing-word-documents-in-wpf/
בהצלחה, ואנא דווח על תבונות ו/או אכזבות ו/או הצלחות...
פורסם במקור בפורום CODE613 ב30/01/2014 12:42 (+02:00)
סליחה, לא קראתי טוב את שאלתך.
בל"נ מחר אתן לך פתרונות.
פורסם במקור בפורום CODE613 ב29/01/2014 19:54 (+02:00)