C# LINQ到SQL类,如何更改列格式?(数据网格)
如何更改DataGrid控件中LINQ to SQL类列中的数据格式 我有一个SQL server表列,其中包含C# LINQ到SQL类,如何更改列格式?(数据网格),c#,wpf,linq,datagrid,sql-server-2014,C#,Wpf,Linq,Datagrid,Sql Server 2014,如何更改DataGrid控件中LINQ to SQL类列中的数据格式 我有一个SQL server表列,其中包含DateTime数据,如您所料,10/19/2015 8:30:00 AM 如何更改格式以仅显示日期10/19/2015 我在属性面板中看不到任何可以这样做的东西。这将在XMAL中处理吗 到目前为止我掌握的代码 public partial class MainWindow : Window { HomeLINQSqlDataContext dc = new H
DateTime
数据,如您所料,10/19/2015 8:30:00 AM
如何更改格式以仅显示日期10/19/2015
我在属性面板中看不到任何可以这样做的东西。这将在XMAL中处理吗
到目前为止我掌握的代码
public partial class MainWindow : Window
{
HomeLINQSqlDataContext dc = new HomeLINQSqlDataContext(Properties.Settings.Default.Staff_ManagerConnectionString2);
//TimeRecorderLINQSqlDataContext dc = new TimeRecorderLINQSqlDataContext(Properties.Settings.Default.Staff_ManagerConnectionString1);
public MainWindow()
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
PopulateCollection();
if (dc.DatabaseExists()) TimeRcorderDataGrid.ItemsSource = dc.Staff_Time_TBLs;
//if (dc.DatabaseExists()) TimeRcorderDataGrid.ItemsSource = dc.Staff_Data_TBLs;
InitializeComponent();
}
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
dc.SubmitChanges();
}
private void PopulateCollection()
{
ObservableCollection<FooClass> fooColl = new ObservableCollection<FooClass>();
for (int i = 0; i <= 10; i++)
{
fooColl.Add(new FooClass() { Description = i.ToString(), SomeDate = DateTime.Now });
}
TimeRcorderDataGrid.ItemsSource = fooColl;
}
}
public class FooClass
{
public string Description { get; set; }
public DateTime SomeDate { get; set; }
}
}
公共部分类主窗口:窗口
{
HomeLINQSqlDataContext dc=新的HomeLINQSqlDataContext(Properties.Settings.Default.Staff\u ManagerConnectionString2);
//TimeRecorderLINQSqlDataContext dc=新的TimeRecorderLINQSqlDataContext(Properties.Settings.Default.Staff\u ManagerConnectionString1);
公共主窗口()
{
System.Threading.Thread.CurrentThread.CurrentUICulture=新文化信息(“en-US”);
PopulateCollection();
如果(dc.DatabaseExists())TimeRcorderDataGrid.ItemsSource=dc.Staff\u Time\u TBLs;
//如果(dc.DatabaseExists())TimeRcorderDataGrid.ItemsSource=dc.Staff\u Data\u TBLs;
初始化组件();
}
私有无效保存按钮\u单击(对象发送方,路由目标)
{
dc.提交更改();
}
私有void PopulateCollection()
{
ObservableCollection foocol=新的ObservableCollection();
对于(int i=0;i您可以在绑定中使用StringFormat
设置DateTime
的格式。让我展示一个示例:
XAML:
代码隐藏:
public MainWindow()
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
InitializeComponent();
PopulateCollection();
}
private void PopulateCollection()
{
ObservableCollection<FooClass> fooColl = new ObservableCollection<FooClass>();
for (int i = 0; i <= 10; i++)
{
fooColl.Add(new FooClass() { Description=i.ToString(), SomeDate=DateTime.Now});
}
dataGrid.ItemsSource = fooColl;
}
如果要明确定义列(而不是依赖autoGenerateColumns),则应该能够说明日期的格式
<DataGrid AutoGenerateColumns="False" ... >
<DataGrid.Columns>
<DataGridTextColumn Header="Raised" Binding="{Binding INSERT_PROPERTY_HERE, StringFormat=\{0:dd/MM/yy\}}"/>
</DataGrid.Columns>
</DataGrid>
这对所有这些都很陌生,但是如何指定某个列来应用该格式呢?DataGrid中有12列是从SQL server导入的,其中只有两列是DateTime,第7列和第8列。如何为这些列指定格式呢?我不知道为什么,但这将第7列和第8列数据组合在一起,并将其放入fir中我应该改变循环中的一些东西吗?我上面发布的代码是根据你的代码改编的,并将第7列和第8列的数据合并到第1列中。而第1列中应该包含的数据已经不存在了?我打算更新那些帮助过我的人,我总是更新那些帮助过我的人,不管结果如何,这只是目前,我似乎还不能很好地解决这个问题。干杯谢谢你抽出时间来帮助我。你让我看到了一些不同的做事方式。谢谢,在所有的帮助之后,你的回答也帮助了我,谢谢你抽出时间,感谢你的帮助。
public class FooClass
{
public string Description { get; set; }
public DateTime SomeDate { get; set; }
}
public MainWindow()
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
InitializeComponent();
PopulateCollection();
}
private void PopulateCollection()
{
ObservableCollection<FooClass> fooColl = new ObservableCollection<FooClass>();
for (int i = 0; i <= 10; i++)
{
fooColl.Add(new FooClass() { Description=i.ToString(), SomeDate=DateTime.Now});
}
dataGrid.ItemsSource = fooColl;
}
<DataGrid Name="TimeRcorderDataGrid" Margin="0,0,0,79" Grid.ColumnSpan="3">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding ColumnOne}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnTwo}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnThree}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnFour}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnFive}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnSix}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnSeven, StringFormat=\{0:dd.MM.yy \}}"}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnEight, StringFormat=\{0:dd.MM.yy \}}"}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnNine}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnTen" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnEleven}" Width="Auto" />
<DataGridTextColumn Binding="{Binding ColumnTwelve}" Width="Auto" />
</DataGrid.Columns>
</DataGrid>
<DataGrid AutoGenerateColumns="False" ... >
<DataGrid.Columns>
<DataGridTextColumn Header="Raised" Binding="{Binding INSERT_PROPERTY_HERE, StringFormat=\{0:dd/MM/yy\}}"/>
</DataGrid.Columns>
</DataGrid>