はい、私はこの質問で多くのトピックを知っています、私は検索し、それらの多くを見たが、私はまだ私の問題を解決することはできません。文字列が有効なDateTimeエラーとして認識されませんでした
ERROR:文字列は、私は別の形であるのDataGridViewからのデータを受信してい
が、私はそれを受信し、それがうまく表示できる有効な日時として認識されませんでしたが、今、私はひそかにしたいです日付形式のString形式のデータをdatetimepickers形式で表示します。私は、この行のエラーを取得します
public EditObras(string id, string NomeObra, string idCliente, string DataPLevantamento, string DataRLevantamento, string Estado, string DataRMateriais, string DataInicioObra, string DataConclusao, string DataVestoria, string Obs, string Prompor, string Levantpor, string executpor)
{
InitializeComponent();
label4.Text = (string)id;
textBox1.Text = (string)NomeObra;
textBox2.Text = (string)idCliente;
dateTimePicker1.Value = DateTime.ParseExact(DataPLevantamento, "d' de 'MMMM' de 'yyyy", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None);
// textBox3.Text = (string)DataPLevantamento;
textBox4.Text = (string)DataRLevantamento;
comboBox1.Text = (string)Estado;
textBox5.Text = (string)DataRMateriais;
textBox6.Text = (string)DataInicioObra;
textBox7.Text = (string)DataConclusao;
textBox8.Text = (string)DataVestoria;
textBox12.Text = (string)Obs;
textBox9.Text = (string)Prompor;
textBox10.Text = (string)Levantpor;
textBox11.Text = (string)executpor;
}
:データを受信
dateTimePicker1.Value = DateTime.ParseExact(DataPLevantamento, "d' de 'MMMM' de 'yyyy", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None);
"D 'デ・MMMM"ド' YYYY" 形式は、使用して1つのイムで、I DataPLevantamentoの
string datePattern = System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.LongDatePattern;
textBox1.Text = datePattern;
値がこのようなデータである:ちょうどフォーマットが何であるかを確認するために、この方法でフォーマットを得た
30 de outubro de 2016
例外スタック:
System.FormatException was unhandled
HResult=-2146233033
Message=A cadeia de caracteres não foi reconhecida como valor DateTime válido.
Source=mscorlib
StackTrace:
em System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style)
em System.DateTime.ParseExact(String s, String format, IFormatProvider provider, DateTimeStyles style)
em GestãodeobrasGasFenosa.EditObras..ctor(String id, String NomeObra, String idCliente, String DataPLevantamento, String DataRLevantamento, String Estado, String DataRMateriais, String DataInicioObra, String DataConclusao, String DataVestoria, String Obs, String Prompor, String Levantpor, String executpor) em C:\Users\BugDroid\Documents\Visual Studio 2015\Projects\GestãodeobrasGasFenosa\GestãodeobrasGasFenosa\EditObras.cs:line 26
em GestãodeobrasGasFenosa.Form1.dataGridView1_CellDoubleClick(Object sender, DataGridViewCellEventArgs e) em C:\Users\BugDroid\Documents\Visual Studio 2015\Projects\GestãodeobrasGasFenosa\GestãodeobrasGasFenosa\Form1.cs:line 606
em System.Windows.Forms.DataGridView.OnCellDoubleClick(DataGridViewCellEventArgs e)
em System.Windows.Forms.DataGridView.OnDoubleClick(EventArgs e)
em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
em System.Windows.Forms.Control.WndProc(Message& m)
em System.Windows.Forms.DataGridView.WndProc(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
em System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
em System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
em System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
em System.Windows.Forms.Application.Run(Form mainForm)
em GestãodeobrasGasFenosa.Program.Main() em C:\Users\BugDroid\Documents\Visual Studio 2015\Projects\GestãodeobrasGasFenosa\GestãodeobrasGasFenosa\Program.cs:line 19
em System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
em System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
em Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
em System.Threading.ThreadHelper.ThreadStart_Context(Object state)
em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
em System.Threading.ThreadHelper.ThreadStart()
InnerException:
ここで、解析しようとしている*値は何ですか? –
'DataPLevantamento'の文字列値を質問に追加し、' CultureInfo.CurrentCulture'の実際の値を教えてください。 DateTime.ParseExact( "Value of DataPLevantamento"、 "MMMM 'de' yyyy"、(CultureInfo.CurrentCultureの値)、DateTimeStyles.None)のコードが削除されている可能性がありますので、おそらくあなたのコードの約90%質問は文脈にかかわらず解決可能でなければならない。 – grek40
あなたは何をDataPLevantamentoに渡していますか? あなたは@ LasseV.Karlsenさんの答えを知らなかったので、そこに文字列として渡すデータのサンプルを尋ねました。 また、そのコンストラクタにクラスを渡すことを検討する必要があります。 何かのように: public EditObras(Obras obra) –