Używam DataGridView z powiązaniem danych obiektu do wyświetlania informacji o obiektach logowania w systemie, pobieranych za pośrednictwem protokołu SOAP z usługi zdalnej. Jedna z kolumn nosi nazwę "Ostatnia akcja" i oznacza ostatni raz, kiedy jednostka zarejestrowała wiadomość. Jest to wartość System.DateTime
. Kiedy czytam odpowiedź SOAP (przykład poniżej), znacznik czasu oczywiście zawiera wszystkie informacje, aż do drugiej frakcji.Jak sformatować kolumny DateTime w DataGridView?
<LoggingEntity>
<host>marty86ce</host>
<process>10148</process>
<logger>http_core</logger>
<appName>httpd</appName>
<ffda>true</ffda>
<lastAction>2010-10-27T12:00:19.5117509Z</lastAction>
<lastHeartbeat>0001-01-01T00:00:00</lastHeartbeat>
<channelId>em_9BA2A2B4D0B6E66</channelId>
<ffdaChannelId>em_E7C8D1D4DE8EEB9</ffdaChannelId>
</LoggingEntity>
Kiedy wyświetlić go na stole, zamiast tego można odczytać do protokołu używam następujący kod, aby wykonać powiązania danych po naciśnięciu przycisku Odśwież
public void RefreshEntities()
{
IEntityManagement management = EntityPlugin.GetProxy();
LoggingEntity[] result = management.FindLoggingEntities(new TemplateQuery { ffdaSpecified = true, ffda = true }); //Remote invocation
Invoke(new MethodInvoker(delegate { gridEntities.DataSource = result; })); //THIS does the data binding from the array
Invoke(new MethodInvoker(delegate { btnRefresh.Enabled = true; }));
}
I chciałby wiedzieć, jak kontrolować formatowanie kolumny wartości związanych z danymi. Myślę, że format dd/MM/rrrr gg: mm pochodzi z ustawień mojego systemu. Jak programowo zmienić ustawienia formatowania?
góry dziękuję
pełny kod rozwiązaniem na Subversion (program FFDAGui) dla Logbus-NG projektu open source.
Jak to zrobić w WPF? –