PDA

View Full Version : راهنمایی درباره setting



skmr_ae
جمعه 01 اردیبهشت 1391, 17:04 عصر
سلام
من سه تا تکست باکس دارم که اطلاعاتشون رو توی SETTING ذخیره میکنم
میخواستم از دوستان بپرسم میشه چندین بار اطلاعات رو ذخیره کرد؟؟
و یا طوری اطلاعات ذخیره شده در SETTING رو در تکست باکسها برگردوند؟؟؟
و یا میشه عنوان های ستون های گرید رو در seting نگه داشت که در مراجعات بعدی به برنامه فقط اون ستون ها نمایش داده بشه؟؟
و یا چطور میشه ایتمهای لیست باکس رو در seting نگه داشت؟
ممنون میشم راهنمایی کنید

ma.rad
جمعه 01 اردیبهشت 1391, 19:12 عصر
بله این امکان وجود داره ولی سعی کنید داده های کلیدی که نمی خواید تو بانک ذخیره بشه ویا امکان ذخیره اون ها نیست استفاده کنید وحجم داد های ذخیره شده رو بالا نبرید
تو قسمت نمونه برنامه ها یه نمونه کامل هست
موفق باشید

omidamiry
جمعه 01 اردیبهشت 1391, 19:26 عصر
textbox1.text=" +
WindowsFormsApplication1.Properties.Settings.Defau lt.CONECT_STR;

CONECT_STR متغییریه که در ستینگ ساختیم

skmr_ae
جمعه 01 اردیبهشت 1391, 21:17 عصر
textbox1.text=" +
WindowsFormsApplication1.Properties.Settings.Defau lt.CONECT_STR;

CONECT_STR متغییریه که در ستینگ ساختیم

سلام
ممنون
میشه لطف کنید و لینک برنامه ای که گفتید توی نمونه برنامه هاست رو بدید؟؟
اخه پیدا کردنش سخته..
ممنون میشم

mazaher5723
جمعه 01 اردیبهشت 1391, 22:06 عصر
سلام دوست عزیز
به روایت تصویر
موفق باشید و پیروز
مظاهر

mazaher5723
جمعه 01 اردیبهشت 1391, 22:16 عصر
ی متغییری هست که اگه برای هر یوزی هست که اگر بشه اونو مقدار دهی کرد هر بار که از طریق اون یوز وارد برنامه بشی باز هم همون مقدارو داره.
چه جور باید مقدار دهیش کرد کجای سی شارپ هست؟
یوز:منظورم یوزر ویندوز هستا
قبلا تو وی بی انجامش داده یودم تو سی شارپ نمی دونم
با تشکر مظاهر

skmr_ae
شنبه 02 اردیبهشت 1391, 18:06 عصر
ی متغییری هست که اگه برای هر یوزی هست که اگر بشه اونو مقدار دهی کرد هر بار که از طریق اون یوز وارد برنامه بشی باز هم همون مقدارو داره.
چه جور باید مقدار دهیش کرد کجای سی شارپ هست؟
یوز:منظورم یوزر ویندوز هستا
قبلا تو وی بی انجامش داده یودم تو سی شارپ نمی دونم
با تشکر مظاهر

سلام
ممنون
اما من جواب سوالم رو نگرفتم
خواهش میکنم یکی بگه چطور ایتم های لیست رو در setting ذخیره کنم و اینکه چطور اطلاعات ذخیره شده توی setting رو بخونم ؟؟
و یا عنوان ستونهای گرید رو در setting ذخیره کنم که فقط اون ستون ها نمایش داده بشن؟
ممنون میشم کمک کنید

omid_csh
شنبه 02 اردیبهشت 1391, 19:22 عصر
سلام
برای ذخیره تغییرات از متد save استفاده کنید و برای استفاده هم همونطوری که تو مثال پایین نوشتم استفاده میکنید.
WindowsFormsApplication4.Properties.Settings setting =new Properties.Settings();
//setting مقدار دهی یه متغیر در
setting.Application = "project";
//ذخیره تغییرات
setting.Save();
//استفاده از این متغیر
lblApplication.Text = setting.Application;
چرا عنوانها رو میخواید ذخیره کنید؟این عنوانها ثابتن یا تغییر میکنن؟

skmr_ae
یک شنبه 03 اردیبهشت 1391, 09:50 صبح
سلام
برای ذخیره تغییرات از متد save استفاده کنید و برای استفاده هم همونطوری که تو مثال پایین نوشتم استفاده میکنید.
WindowsFormsApplication4.Properties.Settings setting =new Properties.Settings();
//setting مقدار دهی یه متغیر در
setting.Application = "project";
//ذخیره تغییرات
setting.Save();
//استفاده از این متغیر
lblApplication.Text = setting.Application;
چرا عنوانها رو میخواید ذخیره کنید؟این عنوانها ثابتن یا تغییر میکنن؟


سلام
ممنون
من یک گرید دارم که کاربر توی اجرا می تونه ستون هایی رو فعال و یا غر فعال کنه
میخوام ستون هایی که فعال هستن رو یه جا مثلا توی setting عنوانهاشون رو ذخیره کنم که توی بارهای بعد که برنامه اجرا میشه فقط اون ستون ها لود بشه و اگر کاربر دیگه تغییرش داد باز مثل قبل عنوان ستون ها ذخیره شه و الی آخر
ممنون میشم کمک کنید

skmr_ae
دوشنبه 04 اردیبهشت 1391, 17:31 عصر
سلام
ممنون
من یک گرید دارم که کاربر توی اجرا می تونه ستون هایی رو فعال و یا غر فعال کنه
میخوام ستون هایی که فعال هستن رو یه جا مثلا توی setting عنوانهاشون رو ذخیره کنم که توی بارهای بعد که برنامه اجرا میشه فقط اون ستون ها لود بشه و اگر کاربر دیگه تغییرش داد باز مثل قبل عنوان ستون ها ذخیره شه و الی آخر
ممنون میشم کمک کنید

سلام کسی نمیدونه
خواهش میکنم دوستان کمکم کنید
ممنون

omid_csh
دوشنبه 04 اردیبهشت 1391, 18:03 عصر
سلام
من ستونهایی که فعال نیستن رو ذخیره میکنم:
string[] headerNames = WindowsFormsApplication4.Properties.Settings.Defau lt.HeaderList.Split(new char[] { ',' });

foreach (string colName in headerNames)
if (!string.IsNullOrEmpty(colName) && myDataGridView.Columns[colName] != null)
myDataGridView.Columns[colName].Visible = false;
این چند خط کدو بعد از bind کردن اطلاعات یا اضافه کردن ستونها بنویس، بخاطر اینکه ستونها باید وجود داشته باشند تا بتونیم اونارو فعال یا غیر فعال کنیم.

حالا اون ستونایی که غیر فعال شدن رو باید ذخیره کنیم:
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
string header = string.Empty;

foreach (DataGridViewColumn col in myDataGridView.Columns)
if (col.Visible == false)
{
if (header != string.Empty)
header += ",";

header += col.Name;
}

WindowsFormsApplication4.Properties.Settings.Defau lt.HeaderList = header;
WindowsFormsApplication4.Properties.Settings.Defau lt.Save();
}
من داخل رویداد formClosing نوشتم، موقع بسته شدن فرم ستونایی که غیر فعال یا همون visable اونا false شده رو ذخیره میکنم و موقع نمایش فرم از اینا استفاده میکنم.
اگه جاییشو مشکل داشتی بگو.
موفق باشی.

skmr_ae
سه شنبه 05 اردیبهشت 1391, 12:30 عصر
سلام
من ستونهایی که فعال نیستن رو ذخیره میکنم:
string[] headerNames = WindowsFormsApplication4.Properties.Settings.Defau lt.HeaderList.Split(new char[] { ',' });

foreach (string colName in headerNames)
if (!string.IsNullOrEmpty(colName) && myDataGridView.Columns[colName] != null)
myDataGridView.Columns[colName].Visible = false;
این چند خط کدو بعد از bind کردن اطلاعات یا اضافه کردن ستونها بنویس، بخاطر اینکه ستونها باید وجود داشته باشند تا بتونیم اونارو فعال یا غیر فعال کنیم.

حالا اون ستونایی که غیر فعال شدن رو باید ذخیره کنیم:
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
string header = string.Empty;

foreach (DataGridViewColumn col in myDataGridView.Columns)
if (col.Visible == false)
{
if (header != string.Empty)
header += ",";

header += col.Name;
}

WindowsFormsApplication4.Properties.Settings.Defau lt.HeaderList = header;
WindowsFormsApplication4.Properties.Settings.Defau lt.Save();
}
من داخل رویداد formClosing نوشتم، موقع بسته شدن فرم ستونایی که غیر فعال یا همون visable اونا false شده رو ذخیره میکنم و موقع نمایش فرم از اینا استفاده میکنم.
اگه جاییشو مشکل داشتی بگو.
موفق باشی.

سلام
ممنون
کدهای شما رو توی برنامه نوشتم
اما
توی فرم لود آمدم محتویات setting رو توی متغییر برگردوندم و بعد گفتم که به ازای تک تک مقادیر این متغییر ستون ها رو نمایش بده
اما جواب نداد
برنامه رو فرستادم(فقط گرید من از بانک پر میشه)
خواهش میکنم یه لطفی کنید و یه نگاه بهش بندازید
ممنون میشم این موردش رو هم راهنماییی کنید
بازم ممنون

Mahmoud.Afrad
سه شنبه 05 اردیبهشت 1391, 13:57 عصر
در لود فرم1 به این صورت:


//برای جلوگیری از بروز خطا
//اگر مقدار برابر تهی بود نباید کاری انجام شود
header = WindowsFormsApplication1.Properties.Settings.Defau lt.header;
if (header == string.Empty)
return;

string[] st = header.Split(',');
foreach (string c in st)
{
dataGridView1.Columns[c].Visible = false;
}



در دکمه add این تکه باید حذف بشـــه:


//====================================
string[] headerNames = WindowsFormsApplication1.Properties.Settings.Defau lt.HeaderList.Split(new char[] { ',' });

foreach (string colName in headerNames)
if (!string.IsNullOrEmpty(colName) && dataGridView1.Columns[colName] != null)
dataGridView1.Columns[colName].Visible = false;