if ถ้าต้องการเช็ค ค่า 0/1 จาก วัน ที่เราเซทไว้ เช่น 0101010 ขอตัวอย่างด้วยครับ
Code (C#)
for (int i = 0; i < mDay.Length; i++) {
//if else check ว่ามีค่า 1 มั้ย
if (int.Parse(mDay.Substring(0 + i, 1)) == 1) {
//เก็บตำแหน่งของ i ไปใช้
}
}
เอาที่ผมถนัดนะ Substring ออกมาเช็คทีละค่า ว่าเท่ากัย 1 หรือไม่ ถ้าเท่า ก็เอาค่าจาก i ไปใช้เช็คตำแหน่งของวัน เช่น
วันอาทิตย์ == ตำแหน่งที่ 0
วันจันทร์ == ตำแหน่งที่ 1
etc.... ประมาณนี้
Date :
2016-04-01 15:56:53
By :
cre_kiwsan
อ่อ ครับ ขอบคุณครับ
ประวัติการแก้ไข 2016-04-01 16:02:56
Date :
2016-04-01 15:57:12
By :
crusader07
Code (C#)
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCell StatusDate = e.Row.Cells[3];
if (StatusDate.Text.ToString() != "0000000")
{
string str = StatusDate.Text.ToString(); //ค่ามาเป็น 0000000-1111111
string[] words = str.Split(); //แยกตัวเลข
string showtext = "";
showtext +=(words[0]==1)?"Sun,":"";
showtext +=(words[1]==1)?"Mon,":"";
showtext +=(words[2]==1)?"Tue,":"";
showtext +=(words[3]==1)?"Wed,":"";
showtext +=(words[4]==1)?"Thu,":"";
showtext +=(words[5]==1)?"Fri,":"";
showtext +=(words[6]==1)?"Sat,":"";
}
showtext = showtext.Substring(0,showtext.Length-1);// ตัด , ตัวท้ายสุดออก
}
}
Date :
2016-04-01 16:24:50
By :
lamaka.tor
Date :
2016-04-01 19:44:42
By :
mr.win
Code (JavaScript)
var dayList = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
var dayValue = '0100000';
var i = dayValue.indexOf("1");
dayList[i]
//Output : "Mon"
Date :
2016-04-02 08:43:53
By :
deksoke
เอาใหม่ผมลืม join string 555+
Code (JavaScript)
var dayList = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
var dayValue = '0101010';
var dayArr = dayValue.split("");
var daySelected = [];
for(var i=0; i<dayArr.length-1; i++){ if(dayArr[i]=="1"){daySelected.push(dayList[i]);}}
console.log(daySelected.join(","));
Date :
2016-04-02 09:04:32
By :
deksoke
ผมได้ความรู้จากกระทู้นี้ด้วยแหละว่าเราสามารถเก็บข้อมูลแบบนี้ได้เหมือนกัน จะเอาไปปรับใช้กับงานครับ
ถือว่ากระทู้นี้ก็ทำให้ผมได้เดินไปอีกก้าวนะ อิอิ
Date :
2016-04-02 10:10:15
By :
deksoke
ขอบคุณทุกความเห็น และวิธีต่างๆ ที่ได้นำมาให้ เป็นประโยชน์ ต่อชีวิตโปรแกรมเมอร์ น้อยๆ หลายท่าน มากๆครับให้สามารถก้าวต่อไปได้ครับ
ผมทำตาม คุณ (001-0903019089)
Code (C#)
protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCell StatusDate = e.Row.Cells[3];
if (StatusDate.Text.ToString() != "0000000")
{
string str = StatusDate.Text.ToString();
//check 0/1 Days
string spacebar = ",";
for (int i = 0; i < str.Length; i++)
{
if (int.Parse(str.Substring(0 + i, 1)) == 1)
{
StatusDate.Text = "";
if (int.Parse(str.Substring(0, 1)) == 1)
{
StatusDate.Text += "Sun" + spacebar;
}
if (int.Parse(str.Substring(1, 1)) == 1)
{
StatusDate.Text += "Mon" + spacebar;
}
if (int.Parse(str.Substring(2, 1)) == 1)
{
StatusDate.Text += "Tue" + spacebar;
}
if (int.Parse(str.Substring(3, 1)) == 1)
{
StatusDate.Text += "Wed" + spacebar;
}
if (int.Parse(str.Substring(4, 1)) == 1)
{
StatusDate.Text += "Thu" + spacebar;
}
if (int.Parse(str.Substring(5, 1)) == 1)
{
StatusDate.Text += "Fri" + spacebar;
}
if (int.Parse(str.Substring(6, 1)) == 1)
{
StatusDate.Text += "Sat";
}
}
}
}
}
}
ประวัติการแก้ไข 2016-04-04 11:18:50 2016-04-04 11:19:46
Date :
2016-04-04 11:00:00
By :
crusader07
แวะเอา โค้ด vb มาแปะไว้
Code (VB.NET)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox2.Text = ""
Dim Num As Integer = 0
Dim str As String = TextBox1.Text
For i As Integer = 0 To str.Length - 1
Num += 1
Select Case Num
Case 1
If str.Chars(i) = "1" Then
TextBox2.Text = TextBox2.Text + "Sun" + ","
End If
Case 2
If str.Chars(i) = "1" Then
TextBox2.Text = TextBox2.Text + "Mon" + ","
End If
Case 3
If str.Chars(i) = "1" Then
TextBox2.Text = TextBox2.Text + "Tue" + ","
End If
Case 4
If str.Chars(i) = "1" Then
TextBox2.Text = TextBox2.Text + "Wed" + ","
End If
Case 5
If str.Chars(i) = "1" Then
TextBox2.Text = TextBox2.Text + "Thu" + ","
End If
Case 6
If str.Chars(i) = "1" Then
TextBox2.Text = TextBox2.Text + "Fri" + ","
End If
Case 7
If str.Chars(i) = "1" Then
TextBox2.Text = TextBox2.Text + "Sat" + ","
End If
End Select
Next
If TextBox2.Text <> "" Then
TextBox2.Text = TextBox2.Text.Substring(0, TextBox2.Text.Length - 1)
End If
End Sub
Date :
2016-04-19 17:46:00
By :
0110101
Load balance : Server 02