簡體   English   中英

輸入字符串的格式不正確

[英]Input string was not in a correct format

我有這段代碼:

private string getTime(int time)
{
    TimeSpan t = TimeSpan.FromSeconds(time);
    return string.Format("{0:D2}:{1:D2}", t.Hours, t.Minutes, t.Seconds, t.Milliseconds);
}

后來在我的應用程序中這部分代碼:

dataGridView_Trips.Rows[i].Cells["top_Tijd"].Value = (string)getTime(routeInfo[0]);

無論我嘗試將其作為string為什么或者什么,一旦它試圖設置Cells["top_Tijd"]的值Cells["top_Tijd"] ,它將給出一個錯誤,在這種情況下, getTime返回一個字符串"17:46"並且告訴我這不是一個正確的十進制格式?

它試圖將它設置為強,但告訴我它不是正確的十進制值,為什么?

EDIT1:

嘗試添加dataGridView_Trips.Columns [“top_Tijd”]。ValueType = typeof(string); 無濟於事。

EDIT2:

嘗試刪除getTime並粘貼在硬編碼的“測試”中,並聲稱即使在設置了它的valuetype之后也需要小數。

EDIT3:

這是格式行為的屏幕截圖...(無格式化。) 在此輸入圖像描述

我有完全相同的問題:我已經解決了它更改綁定到dgv列的MS Access數據庫列中的值類型。

您無法直接從Visual Studio更改綁定列的類型:如果您的列具有已設置的DataPropertyName,則它是您要更改的Db列的名稱。

如果無法編輯數據庫,則必須將列的值復制到新的非綁定列中。

因為"17:46"不是十進制。 您的DataGridView可能將該列定義為Decimal。 您應該將其更改為TimeSpanString或其他更合適的東西

我會做一些不同的事情。 首先 - 您要使用的格式為:“h:mm”或“HH:mm”。 其次 - 使用DateTime.ToString(yourFormat)格式化dateTimes。 查看此處的文檔: http//msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM