PDA

View Full Version : سوال: نمایش تاریخ یک ماه در ستون های یک دیتاگرید



Iran58
پنج شنبه 08 آبان 1393, 13:07 عصر
سلام
می خواهم هنگامیکه در یک کموباکس کلیک کردم (مثلا آذر ذا انتخاب کردم)در یک ردیف و ستونهای مختلف(1تا30)تاریخ روز به شمسی نمایش داده شود(1393/09/01)و در ردیف دیگر اسامی روزها به فارس نمایش داده شود
چگونه باید این کار را انجام بدهم

khokhan
پنج شنبه 08 آبان 1393, 13:43 عصر
سلام
می خواهم هنگامیکه در یک کموباکس کلیک کردم (مثلا آذر ذا انتخاب کردم)در یک ردیف و ستونهای مختلف(1تا30)تاریخ روز به شمسی نمایش داده شود(1393/09/01)و در ردیف دیگر اسامی روزها به فارس نمایش داده شود
چگونه باید این کار را انجام بدهم

........................................


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public List<DateTime> AllDatesInAMonth(int month, int year)
{
var firstOftargetMonth = new DateTime(year, month, 1);
var firstOfNextMonth = firstOftargetMonth.AddMonths(1);

var allDates = new List<DateTime>();

for (DateTime date = firstOftargetMonth; date < firstOfNextMonth; date = date.AddDays(1))
{
allDates.Add(date);
}

return allDates;
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = AllDatesInAMonth(9, 2014);
}
}
}

Iran58
پنج شنبه 08 آبان 1393, 13:54 عصر
سلام
باتشکر
الف)اگر بخواهیم شمسی نمایش بدهیم چه؟
ب)از یک دیتاپیکر شمسی بخواینم چگونه می شود؟(ماه را انتخاب کنبم)
ج) اگر بخواهیم داخل Label جای ستونهای دیتاگرید باشد چه؟
باتشکر

Iran58
یک شنبه 11 آبان 1393, 09:50 صبح
سلام
دوست عزیزمان جناب khokhanزحمت کشیدند وکد را به میلادی قراردادند از دوستان کسی نیست تاریخ را به شمسی نمایش بدهد

khokhan
یک شنبه 11 آبان 1393, 20:00 عصر
سلام
دوست عزیزمان جناب khokhanزحمت کشیدند وکد را به میلادی قراردادند از دوستان کسی نیست تاریخ را به شمسی نمایش بدهد


فقط کافی بود تا خروجی متد رو بریزی داخل یه مبدل از کلاس PersianCalendar و دیگه همه چی حل می شد :لبخند:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Globalization;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public List<DateTime> AllDatesInAMonth(int month, int year)
{
var firstOftargetMonth = new DateTime(year, month, 1);
var firstOfNextMonth = firstOftargetMonth.AddMonths(1);
var allDates = new List<DateTime>();
for (DateTime date = firstOftargetMonth; date < firstOfNextMonth; date = date.AddDays(1))
{
System.Globalization.PersianCalendar p = new System.Globalization.PersianCalendar();
DateTime mdate = date;
int myear = p.GetYear(mdate);
int mmonth = p.GetMonth(mdate);
int day = p.GetDayOfMonth(mdate);
DateTime d1 = new DateTime(myear, mmonth, day, 0, 0, 0, 0);
allDates.Add(d1);
}
return allDates;
}
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = AllDatesInAMonth(10, 2014);
}
}
}


این هم خروجی

125247

Iran58
چهارشنبه 14 آبان 1393, 15:41 عصر
باسلام
وسپاس از جواب شما
اما مهندس جان من یک ماه شمسی را می خواهم این می آید ویک ماه میلادی را تبدیل به شمسی می کند
مثلا از 1آبان تا 30 آبان
ببخشید که منظورم را بد رساندم