C#wpf DataGrid绑定日期(转换为波斯语格式)



我有一个DataGrid视图,它绑定到数据库,并像这样从MySql数据库获取信息。

MySqlCommand cmd3 = new MySqlCommand("SELECT * FROM  owner_units  WHERE unit_id =" + UNITID, conn);
MySqlDataAdapter adp2 = new MySqlDataAdapter(cmd3);
DataSet ds2 = new DataSet();
adp2.Fill(ds2, "LoadDataBinding2");
owner_unit.DataContext = ds2;

我将数据库中的数据添加到我的DataGrid视图中,如下所示。

<DataGrid HorizontalAlignment="Left" Name="owner_unit"  ItemsSource="{Binding LoadDataBinding2}" AutoGenerateColumns="False" IsReadOnly="True" CanUserAddRows="False" Height="99" Margin="36,463,0,0" VerticalAlignment="Top" Width="420">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding id}" Header="OwnerID" Width="100" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding percent}" Header="Percentage" Width="100" IsReadOnly="True" />
<DataGridTextColumn Binding="{Binding register_date}" Header="sell date " Width="200" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>

我的问题是,我的数据库列register_date位于米拉迪日期(2021/11/09(,我想将其更改为波斯(Shamsi(日期(18/08/1400(。

我找到了这个解决方案,由于数据库中的所有日期都是UTC,但我的客户希望查看并插入波斯日期,我在Datagridview:中使用了以下代码

<DataGridTextColumn Binding="{Binding Path=created_at, StringFormat=yyyy/mm/dd, ConverterCulture=fa-IR}" Header="تاریخ پرداخت" Width="150" IsReadOnly="True" />

我和在数据库中插入波斯日期作为UTC日期,我使用这个:

var value = PersianDate.Text;
// Convert to Miladi
DateTime dt = DateTime.Parse(value, new CultureInfo("fa-IR"));
// Get Utc Date
var dt_utc = dt.ToUniversalTime();

它将我的PersianDate文本框更改为UTC日期,以便我可以插入数据库。

相关内容

  • 没有找到相关文章

最新更新