PDA

View Full Version : تغییر دادن محتویات یک ستون در dataGrid



ندا2611
چهارشنبه 05 فروردین 1388, 17:36 عصر
با سلام
یکی از ستونهای دیتا گرید تاریخ تولدو نشون میده . تایخ تولد به صورت میلادی ذخیره شده
حالا میخوام به شمسی تبدیلش کنم ،چطور میتونم اطلاعات یک ستونو تغییر بدم؟
تابع مربوط به تبدیل تاریخو دارم البته اگه برای اینکار به درد بخوره. اطفا راهنماییم کنید.
با سپاس.

anooshiran
چهارشنبه 05 فروردین 1388, 18:38 عصر
با سلام

دو ست عزيز براي تغيير مقدار يك cell از datagridview فقط كافي است خاصيت Value آن cell را تغيير دهي. البته براي اين منظور بهتر است بعد از اينكه DataTable را bind كردي كليه مقادير ستون تاريخ را تغيير دهي





For i As Int16 = 0 To DataGridView1.Rows.Count - 2
DataGridView1.Item(DateColumnIndex, i).Value = YourFunction(DataGridView1.Item(DateColumnIndex, i).Value)
Next



yourFunction تابعي است كه گفتي خودت داري. اگر با تابع خودت مشكل داشتي بگو تابع تبديل را نيز برايت بگذارم.
DateColumnIndex شماره يا نام ستوني است كه محتوي تاريخ ميلادي است.

فقط توجه كن بعد از بايند DataTable از اين كد استفاده كني

mostafaaa
چهارشنبه 05 فروردین 1388, 19:45 عصر
سلام دوستان من
شاید بجای استفاده از حلقه(برای جلوگیری از اتلاف منابع و افزایش سرعت) منطقی تر این باشه که از ایونت CellFormating خود DataGridView استفاده کنیم.
به این شکل :

Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEve ntArgs) Handles DataGridView1.CellFormatting
If e.ColumnIndex = 3 And Not e.Value Is Nothing Then
e.Value = MiladiToShamsi(CDate(e.Value))
End If
End Sub
یا علی