با سلام
چطوری میشه توی c#.net اطلاعات یک صفحه که شامل texbox,dropdownlist ... می باشد به صورت موقت ثبت کرد و بعدا با ثبت نهایی در دیتابیس ذخیره کرد؟؟ مثلا ممکن است کاربر امروز اطلاعات را ثبت کند و بقیه تایپ خود را به روز بعد موکول کند.ممنون میشم راهنماییم کنید.
سلام
از کلاس Settings استفاده کنید.
باید اون قسمت از ویومدل خودتون رو براش یه PropertySetting بسازید و از Two Way Binding استفاده کنید تا به هم وصل شن.
بعد به چندتا event هم نیاز دارید تا وقتی برنامه بسته شد یا فوکوس از کنترل برداشته شد یا ... Settings رو ذخیره کنه و زمانی هم که صفحه بارگذاری شد مقادیر رو از Setting بخونه و کنترل ها رو پر کنه.
از فایل هم میتونید استفاده کنید و اطلاعات رو جیسون کنید و نگه دارید.
بستگی به خودتون داره، روش استفاده از فایل خیلی منعطف تر هستش اما از قابلیت .net استفاده نکردید اونوفت.
ممنون ولی من هیچ کدم از این راحلهایی که پیشنهاد دادین رو بلد نیستم.
سلام
با عرض احترام به دوست خوبم جناب سلمان؛ اما برادر خیلی مساله را سخت نکرده ای؟!؟!؟!؟! Two Way binding که نیازمند فریم ورک جانبی است و خود سی شارپ به تنهایی که پشتیبانی نمی کنه! خانوم "مموش گل" هم چون فرمودن سی شارپ من حدس می زنم منظورشون ویندوز اپلیکیشن بوده پس دیگه هیچی!!!
بهترین راه برای حل مساله ی خانم "مموش گل" اینه که ایشون یه فیلد از جنس bit یا int مثلا بنام Status در دیتابیس اضافه کنند و تا وقتی این فیلد false است یعنی این فرم در حالت پیش نویس قرار دارد ووقتی فرم تکمیل شد مقدار ان را true کنند تا بصورت قطعی در آید.
اکثر نرم افزارهای حسابداری همین گونه اند. پیش نویس، در دست بررسی، قطعی، دائم! حالت های مختلف یک سند حسابداری هستند که با همین تکنیک کنترل می شوند
با تشکر از امیر جان و آقای نصیری
راه حلی که دو دوست خوبم ارائه دادن به نظرم پیاده سازیش سادهتر هستش و پیشنهاد میکنم از این راه استفاده کنید.
و البته باید عرض کنم که WPF از Two Way Binding پشتیبانی میکنه.
و این هم یک نمونه کدی که نوشتم از این قابلیت مهم و پرکاربرد WPF استفاده شده تا Draft رو داخل یک فایل به صورت RealTime ذخیره کنه.
ویندوز فرم هم باید پشتیبانی کنه از این قابلیت اگه هم نمیکنه دیگه منسوخ شده بدونیدش!
خانم مموش ضمیمه رو دانلود کنید و اجرا کنید، به صورت خودکار باید یک Nuget که مربوط به NewtonSoft هستش رو دانلود کنه و بعد برنامه اجرا میشه و نتیجه اش رو میبینید.
ممنون از راهنمایی همگی
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)