C# 将DataGridView的特定单元格设置为“对齐”;“从左到右”;

C# 将DataGridView的特定单元格设置为“对齐”;“从左到右”;,c#,winforms,datetime-format,right-to-left,C#,Winforms,Datetime Format,Right To Left,我有一个从右到左对齐的DataGridView(因为程序的语言是波斯语),但是一些特定的列,如clmn_Email应该从左到右,寄存器DateTime的列也应该从左到右 RTL align中的日期时间显示如下 ب.ظ1397/07/07 08:32:14 但它应该像这样展示 1397/07/07 08:32:14ب.ظ 无论如何,我先转到集合,然后转到defaultCellStyle,然后将对齐方式更改为“中左”,但它根本不起作用,没有任何更改 有人能帮我吗?(我没有发现这样的问题。如果重复,请

我有一个从右到左对齐的
DataGridView
(因为程序的语言是波斯语),但是一些特定的列,如
clmn_Email
应该从左到右,寄存器
DateTime
的列也应该从左到右

RTL align中的日期时间显示如下

ب.ظ1397/07/07 08:32:14

但它应该像这样展示

1397/07/07 08:32:14ب.ظ

无论如何,我先转到
集合
,然后转到
defaultCellStyle
,然后将对齐方式更改为“中左”,但它根本不起作用,没有任何更改

有人能帮我吗?(我没有发现这样的问题。如果重复,请将问题的链接发送给我)。

问题已解决。 如果DataGridView是从右到左,则要从左到右设置列对齐方式,应转到
properties>collection>DefultCellStyle>set alignment=middleRight
(除此选项外,我将对齐方式设置为从右到左,但效果相反!!)。 对于显示日期时间的问题,我执行以下操作:

public static string ReversePersianDateTime(PersianDateTime pdt)
    {
        return pdt.DayName + " " + pdt.Hour + ":" + pdt.Minute + ":" + pdt.Second + " " + pdt.Year + "/" + pdt.Month + "/" + pdt.Day;
    }

尝试将
DataGridCellStyle.FormatProvider
设置为
FormatProvider=CultureInfo.InvariantCulture
。或指定具有所需日期格式的特定区域性<例如,code>CultureInfo.CreateSpecificCulture(“en-US”),或者更简单地定义
DataGridViewCellStyle.Format=“hh:mm:ss yyyy/mm/dd”
并将其用作
DefaultCellStyle
格式。它将在RTL语言中反转。@Jimi tnx对于您的重播,我尝试在
frmclient.Designer.cs
中做一些事情,如您所说,但不幸的是,我没有成功。这取决于您如何创建DGV列。应在创建时设置其
格式提供程序
。而
格式
字符串可以在不同的时间设置。如果设置
[DataGridViewCell].Style.Format=“hh:mm:ss yyyy/mm/dd”,RTL ime格式将其呈现为
“yyyy/MM/dd hh:MM:ss”
。如果然后设置
.Alignment=DataGridViewContentAlignment.MiddleRight
,ime格式将使其左对齐。