 |
|
รบกวนช่วยคิดอัลกอทีครับ คือผมติดคิดไม่ออกน่ะครับ ไม่ทราบว่าจะพอมีใครช่วยผมคิดได้บ้าง ตอนนี้ผมมี datatable |
|
 |
|
|
 |
 |
|
ทำไม่เป็นคือกาน 
|
 |
 |
 |
 |
Date :
2009-06-03 19:22:14 |
By :
piyawattop |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่รู้ถูกป่าว คือ จากโจทย์
textbox1=50 textbox2=30
Data1 Data2
0.5 1
1 0.5
0.7 0.7
int valuetxtbox1 = convert.ToInt(textbox1.text);
int valuetxtbox2 = convert.ToInt(textbox2.text);
foreach(Datarow dr in dtData.rows)
{
int a = convert.ToInt(dr["Data1"] .Tostring());
int b = convert.ToInt(dr["Data2"] .Tostring());
dr["Data1"] = a*valuetxtbox1;
dr["Data2"] = a*valuetxtbox2;
}
dtData.AcceptChanges();//เมื่อมีการเปลี่ยนข้อมูลใช้
Ans
Data1 , Data2
25 30
50 15
35 21
หลักการก็คือเอาข้อมูลแต่ละบรรทัดมาคุณกับค่าใน textbox เองครับไม่ต้องไปเรียงอะไรให้ยุ่งยาก
แต่ๆ แต่ถ้าข้อมูลไม่ใช่แบบ 1, 0.5, 0.7 แต่เป็น ตัวเลขอะไรก็ได้ เช่น 150 , 1000 แต่พอมาเข้าสูตรแล้วมีค่าเต็มตาม textbox1และ2 ก็คือ30 และ 50 แบบนี้ต้องหาสมการมาแล้วละครับ
|
 |
 |
 |
 |
Date :
2009-06-03 21:56:07 |
By :
besttooo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ้าวพิมพ์นานไปหน่อย login หลุดเลย -*-
|
 |
 |
 |
 |
Date :
2009-06-03 21:57:34 |
By :
besttooo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยังไม่ใช่ครับผม
แบบนั้นถ้าค่าที่มากที่สุดในฟิลด์1 มากกว่า1 มันก็จะผิดทันที
ขอบคุณมากครับ
|
 |
 |
 |
 |
Date :
2009-06-03 22:47:26 |
By :
nutkit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ค่าไม่ได้อยู่ระหว่าง0.0-1 ใช่ไหมครับ
|
 |
 |
 |
 |
Date :
2009-06-04 09:30:34 |
By :
besttooo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ค่าหลากหลายเลยครับ อาจจะติดลบหมดเลยก็ได้
แต่ฟลิด์ที่มากที่สุดจะเท่ากับtextboxที่จับคู่ไว้
ส่วนแถวอื่นๆ ก็เทียบกับฟิลด์ที่มากที่สุดแบบบรรยัดไตรยางค์
|
 |
 |
 |
 |
Date :
2009-06-04 10:08:20 |
By :
nutkit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
private void CalculateFunction()
{
DataTable dt = this.Table();
double valueA = Convert.ToDouble(dt.Rows[0][0]), valueB = Convert.ToDouble(dt.Rows[0][1]);
//1st Loop for find max value of column
for (int i = 0; i < dt.Rows.Count; i++)
{
if (valueA < Convert.ToDouble(dt.Rows[i][0]))
{
valueA = Convert.ToDouble(dt.Rows[i][0]);
}
if (valueB < Convert.ToDouble(dt.Rows[i][1]))
{
valueB = Convert.ToDouble(dt.Rows[i][1]);
}
}
//valueA = max value of column A, indexA = index of max value of column A
//valueB = max value of column B, indexB = index of max value of column B
//dt.Rows[indexA][0] = TextBox1.Text;
//dt.Rows[indexB][1] = TextBox2.Text;
//2nd Loop for replace new value
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i][0] = (Convert.ToDouble(dt.Rows[i][0]) / valueA) * Convert.ToDouble(TextBox1.Text);
dt.Rows[i][1] = (Convert.ToDouble(dt.Rows[i][1]) / valueB) * Convert.ToDouble(TextBox2.Text);
}
this.DataGrid1.DataSource = dt;
this.DataGrid1.DataBind();
}
|
 |
 |
 |
 |
Date :
2009-06-04 10:42:44 |
By :
nutkit |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|