2016-08-24 46 views
0
SqlConnection con = new SqlConnection(strConnString); 
con.Open(); 
SqlDataAdapter sda = new SqlDataAdapter("select availability FROM doc_availabledays where dname='" + Label2.Text + "'", con); 
DataSet dss = new DataSet(); 
sda.Fill(dss, "doc_availabledays"); 


DataRow drr = dss.Tables[0].Rows[0]; 
drr["availability"].ToString(); 

if (!e.Day.IsOtherMonth) 
{ 
    foreach (DataRow dr in dss.Tables[0].Rows) 
    { 
     if ((dr["availability"].ToString().Equals(DayOfWeek.Monday))||(dr["availability"].ToString().Equals(DayOfWeek.Tuesday))||(dr["availability"].ToString().Equals(DayOfWeek.Wednesday))) 
     { 

       e.Cell.BackColor = Color.PaleVioletRed; 

     } 
    } 
} 
+0

什么帮助你需要?问题不清楚 – Sami

回答

0

我认为使用安全铸造更好。

string [] data = { "Monday", "Thursday", "Wednesday", "Tuesday" }; 
     DayOfWeek d; 
     var dt = DateTime.Now; 

     foreach (var st in data) 
     { 
      if (Enum.TryParse<DayOfWeek>(st, out d) && d == dt.DayOfWeek) 
      { 
       string abc = "i M Here"; 
      } 
     } 

看起来您在DataTable中有多个列为DayOfWeek。如果是这种情况,那么使用与多个OR运算符||相同的条件或循环到DataRow列。

欲了解更多详情,请看看这个:C#: DateTime.DayOfWeek to string comparison