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

RTL align中的DateTime如下所示


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


但应显示为


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


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

谁能帮我? (我没有找到这样的问题。如果重复,请给我发送问题的链接)。

最佳答案

问题解决了。
如果DataGridView是从右到左,则要设置从左到右的列对齐方式应转到properties >collection > DefultCellStyle> set Alignment = middleRight(i除外,此选项将对齐方式从右到左设置,但它的工作方向相反!)。
对于显示日期时间的问题,我这样做:

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

10-08 14:12