PDA

View Full Version : گفتگو: مشكل با DataGridView



ali_najari
سه شنبه 20 مهر 1389, 16:48 عصر
سلام دوستان من يه DataGridView دارم كه اطلاعات يكسري حساب رو توش فراخواني ميكنم كه شمال كد كالا، نام كالا و ... مي باشد

Datagridview من RightToLeft هست بخاطر فارسي بودن برنامه

حالا مشكل من اينه كه كدهاي كالاهام به اين صورت ميباشد 1-111 ولي وقتي DatagridView رو RightToleft ميكني كد رو به اين صورت نمايش ميده 111-1

بنظرتون براي رفع اين مشكل بايد چيكار كرد؟

Alghoochi
سه شنبه 20 مهر 1389, 18:32 عصر
EditListDataGridView.Columns(0).DefaultCellStyle فقط Alignment داره

ali_najari
سه شنبه 20 مهر 1389, 20:37 عصر
دوست عزیز با Alignment این مشکلی که گفتم حل نمیشه

من خیلی سعی کردم فقط تونستم زمانی که موقع Edit میشه حالت RightToLeftش رو فعال کنم

Alghoochi
سه شنبه 20 مهر 1389, 22:14 عصر
دوست عزیز با Alignment این مشکلی که گفتم حل نمیشه

من خیلی سعی کردم فقط تونستم زمانی که موقع Edit میشه حالت RightToLeftش رو فعال کنم
می دونم مشکل حل نمی شه. گفتم CellStyle هم چنین ویژگی ای نداره.
باید دنبال یه راه حل دیگه باشیم.

hero4000
چهارشنبه 21 مهر 1389, 10:30 صبح
ببين نميتوني خاصيت RightToLeft خود ستون رو تغيير بدي فکر کنم اينجوري حل شه ( منظورم Alignment نيستش ها)

ali_najari
چهارشنبه 21 مهر 1389, 11:03 صبح
دوست عزيز خود Column اين خاصيت رو نداره مشكل من هم همينه

hooooman
چهارشنبه 21 مهر 1389, 12:04 عصر
سلام
از MaskedTExtBoxColumn اگر استفاده كنين فك كنم مشكلتون حل بشه(البته اگه استفاده نكردين!!!) 1 جستجو توي سايت بزنين كلاسشو پيدا ميكنين

Alghoochi
چهارشنبه 21 مهر 1389, 12:20 عصر
سلام
از MaskedTExtBoxColumn اگر استفاده كنين فك كنم مشكلتون حل بشه(البته اگه استفاده نكردين!!!) 1 جستجو توي سايت بزنين كلاسشو پيدا ميكنين
اما آیا این کلاس تمام ویژگی های DataGridView رو پشتیبانی می کنه؟
از کلاس های مشتق شده از DataGridView است یا کلا کلاس جدایی است؟

ali_najari
چهارشنبه 21 مهر 1389, 13:49 عصر
دوستان من اطلاعات رو از DataSet توي DataGridView ميريزم و خودم ستون اضافه نميكم بايد Stayl ش رو عوض كنم؟

hero4000
چهارشنبه 21 مهر 1389, 14:25 عصر
دوست عزيز چرا از گريد جانوس استفاده نمي کني

اون خاصيت رو و خيلي آيتمهاي خوب ديگه هم داره

ali_najari
چهارشنبه 21 مهر 1389, 14:50 عصر
دوست عزيز چرا از گريد جانوس استفاده نمي کني

اون خاصيت رو و خيلي آيتمهاي خوب ديگه هم داره


من تا حالا با جانوس كار نكردم و علاوه بر اون كامپونت گريدش هم ندارم تازه از اون بدتر كه جانوس رو بايد ريجستر كني فكر كنم

ali_najari
پنج شنبه 22 مهر 1389, 10:10 صبح
كسي تا حالا با اين مشكل مواجه نشده؟

كسي راه حلي نداره؟

alimanam
پنج شنبه 22 مهر 1389, 10:47 صبح
با سلام


كسي تا حالا با اين مشكل مواجه نشده؟

نوع فیلد کد کالاتون از چه نوعی هست ؟ :متفکر: اصلاً نوع بانکتون چی هستش ؟ من یه برنامه در مورد رشتم ( عمران ( در مورد متره و برآورد ) ) نوشتم و اتفاقاً شماره آیتم رو با فرمتی می نویسم که مشابه فرمت کد کالای شماست نوع بانک من SQL Server Compact Edition هست ولی همچین مشکلی ندارم و دقیق به همون صورتی که در دیتابیس وارد می کنم در دیتاگرید RightToLeft شده هم وارد میشه . شما خاصیت RightToLeft خود فرم رو هم ست می کنی ؟ :متفکر:

ali_najari
پنج شنبه 22 مهر 1389, 10:59 صبح
نوع بانك SQL Server هست و فيلدم هم از نوع varchar هستش

بچه ها خودم تونستم درستش كنم و كدش رو هم براي دوستان ميزارم كه اگر كسي مشكلي شبيه به من پيدا كرد بتونه ازش استفاده كنه



Private Sub DGV_CellPainting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEvent Args) Handles DGV.CellPainting
If e.ColumnIndex = 6 AndAlso e.RowIndex >= 0 Then
e.PaintBackground(e.CellBounds, True)
TextRenderer.DrawText(e.Graphics, e.FormattedValue.ToString(), e.CellStyle.Font, e.CellBounds, e.CellStyle.ForeColor, TextFormatFlags.LeftAndRightPadding)
e.Handled = True
End If
End Sub