簡體   English   中英

在DetailsView中的DateTime中需要毫秒精度c#如何在Details視圖中直接訪問數據?

[英]Need Millisecond Accuracy in DateTime in DetailsView c# How to Access Data directly in Details View?

因此,我一直在瀏覽堆棧溢出和MSDN,無法找到控件(或弄清楚我擁有的控件)來直接訪問detailsview的數據。 我在使用.Net WebApplication的C#中。

我認為我正在尋找的是gridview中的等效項是row.Cells [1] .Value有人可以幫助訪問DetailsView單元格的值嗎?

我想做的是訪問我綁定到DetailsView1的確切數據值。對於所有數字和字符串(例如僅顯示兩個),Text就足夠了,但對於時間戳MTTS(日期時間)卻是不夠的,因為它丟失了毫秒和代碼(SQL查詢)之后使用的代碼,如果沒有毫秒就無法在db中找到正確的值。 我是否還需要更改綁定數據的方式,或進行一些設置以使綁定的數據毫秒精度?

代碼示例:

    Decimal RUN_ID = 0;
    DateTime MTTS = new DateTime();

    foreach(DetailsViewRow row in DetailsView1.Rows)            
    {                
            switch(row.Cells[0].Text)
            {

                case "RUN_ID":
                    RUN_ID = Decimal.Parse(row.Cells[1].Text);
                    break;
                case "MTTS":
                    MTTS = DateTime.Parse(row.Cells[1].ToString());                       
                    break;

           }

   }

我努力了

   row.Cells[1].ID = "MTTS";
   MTTS = (DateTime)((DataRowView)DetailsView1.DataItem)["MTTS"];

但是它無法識別MTTS,因此我不確定如何設置參數。我已經嘗試了幾種不同的方法,但均未成功。

解決方法是混亂的,從本質上來說,我重建了將數據收集到GridView的查詢,然后我使用LinQ和從GridView內部的參數(直接將MTTS分配為DateTime)獲取了直接捕獲MTTS的功能。

在我看來,這是一種糟糕的處理方式,但確實有效。 我希望有一個更好的解決方案。

    MTTS = GetMTTS(JOB_PLAN, JOB_NAME,JOB_NAME_ID,RUN_ID,JOB_STATUS);

    public DateTime GetMTTS(string JOB_PLAN, string JOB_NAME, string JOB_NAME_ID, Decimal RUN_ID, string JOB_STATUS){

        string myEnvName = XXX;
        TableName = XXX.ToString();
        ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings[myEnvName].ToString();

        string thisRUN_ID = RUN_ID.ToString();
        cmdText = @"SELECT MTTS FROM " + TableName + 
            " WHERE JOB_PLAN = '" + JOB_PLAN + "'"
            + " AND JOB_NAME = '" + JOB_NAME + "'"
            + " AND JOB_NAME_ID = '" + JOB_NAME_ID + "'"
            + " AND RUN_ID = '" + thisRUN_ID + "'"
            + " AND JOB_STATUS = '" + JOB_STATUS + "'";

        DataSet ds = new DataSet();           
        using (SqlConnection conn = new SqlConnection(ConnectionString))
        {
            conn.Open();
            try
            {
                SqlCommand SQLcc = new SqlCommand(cmdText,conn);
                SqlDataReader reader;
                reader = SQLcc.ExecuteReader();
                while (reader.Read())
                {
                    MTTS = reader.GetDateTime(0);
                }        
                reader.Dispose();
            }
            catch (Exception e)
            {
                Console.WriteLine("{0} Exception caught.", e);
            }                
        }
        return MTTS;
    }

暫無
暫無

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

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