PDA

View Full Version : سوال: ایجاد تاریخ بصورت یک هفته در میان



SuTeDell
جمعه 14 مهر 1391, 00:38 صبح
سلام
میخوام تو پروژم از یه DatagridView استفاده کنم که به صورت زیر پر میشه.
میخوام یه تاریخ از TextBox بگیره(شمسی) بعد 12 تاریخ در گرید نشون بده به فاصله زمانی یک هفته.
مثلا
تاریخ 14/07/91 رو بگیره و بعد تو گرید تاریخ های زیر را نمایش بده
1) 14/07/91
2) 21/07/91
3) 28/07/91
.
.
.
.
تا 12 تاریخ
اگه میتونید کمکم کنید.با تشکر:لبخندساده:

Y_Safaiee
جمعه 14 مهر 1391, 05:02 صبح
با سلام خدمت شما دوست عزیز

راحت ترین کد ممکن :



using System.Globalization;
namespace AddDate
{
public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
PersianCalendar pc = new PersianCalendar();
DateTime dt = DateTime.Now;
int y, m, d;
for (int a = 0; a <5; a++)
{
dt = dt.AddDays(7);
y = pc.GetYear(dt);
m = pc.GetMonth(dt);
d = pc.GetDayOfMonth(dt);
string str = string.Format("{0}/{1}/{2}", y, m, d);
dataGridView1.Rows[a].Cells[0].Value = str;
}
}

private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.Rows.Add(5);
}
}
}


البته من تا 5تا تاریخ گفتم شما 12ش کنید.

سمپل کد رو هم برارتون ضمیمه کردم

موفق باشین
بایت بایت

SuTeDell
جمعه 14 مهر 1391, 11:31 صبح
ممنون عالی بود.ولی من میخواستم تاریخ اول را از یه TextBox بگیره و بعد مثلا 12تاریخ رو محاسبه کنه(که اون تاریخه تو TextBox،اولین تاریخ باشه).اما شما اولین تاریخ رو تاریخ سیستم گذاشتید.
با تشکر از شما

veniz2008
جمعه 14 مهر 1391, 12:43 عصر
شما با استفاده از کد زیر میتونید مقدار ورودی تکست باکس رو به نوع datetime تبدیل کنید(البته فقط بصورت تاریخ و بدون اضافه شدن ساعت واسه اینکه مشکلی براتون پیش نیاد).

DateTime mydate = Convert.ToDateTime(textBox1.Text);
textBox1.Text = mydate.ToShortDateString();
الان شما تاریخی رو که درون تکست باکس وارد کردی بصورت date داری و میتونی از روشی که دوستمون براتون توضیح دادن استفاده کنید.
فقط نوع ورودی تکست باکس هم مدنظرتون باشه مثلا بصورت زیر وارد کنید : 1391/05/25
موفق باشید.

nilmil_nil
جمعه 14 مهر 1391, 14:23 عصر
کلاس Datetime یه تابع AddDay داره
میتونی تبدیل کنی به میلادی و بعد هر تعداد روز خواستی بهش اضافه کن و دوباره تاریخ میلادی حدید رو تبدیل به شمسی کنید