2009-11-26 85 views
0

查詢需要更新列表視圖內的下拉列表中的值。 然後下拉列表的值應該在數據庫中使用C#來填充特定的表,ASP.NET在列表視圖中的下拉列表

protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e) 
{ 
    float TrSsb; 
    float AchSsb; 
    if (e.CommandName == "Update") 
    { 
     TextBox txtSysmoid = (TextBox)e.Item.FindControl("txtSysmoid"); 
     DropDownList drpRegion = (DropDownList)e.Item.FindControl("drpRegion"); 
     DropDownList drpMoName = (DropDownList)e.Item.FindControl("drpMoName"); 
     TextBox txt1stWeekTar = (TextBox)e.Item.FindControl("txt1stWeekTar"); 

     TextBox txt1stWeekAch = (TextBox)e.Item.FindControl("txt1stWeekAch"); 
     TextBox txt2anWeekTar = (TextBox)e.Item.FindControl("txt2anWeekTar"); 
     TextBox txt2anWeekAch = (TextBox)e.Item.FindControl("txt2anWeekAch"); 
     TextBox txt3rdWeekTar = (TextBox)e.Item.FindControl("txt3rdWeekTar"); 
     TextBox txt3rdWeekAch = (TextBox)e.Item.FindControl("txt3rdWeekAch"); 
     TextBox txt4thWeekTar = (TextBox)e.Item.FindControl("txt4thWeekTar"); 
     TextBox txt4thWeekAchv = (TextBox)e.Item.FindControl("txt4thWeekAchv"); 
     Label lblTotlTar = (Label)e.Item.FindControl("lblTotlTar"); 
     Label lblTotlAchv = (Label)e.Item.FindControl("lblTotlAchv"); 

     float Trnumber1 = float.Parse(txt1stWeekTar.Text); 
     float Trnumber2 = float.Parse(txt2anWeekTar.Text); 
     float Trnumber3 = float.Parse(txt3rdWeekTar.Text); 
     float Trnumber4 = float.Parse(txt4thWeekTar.Text); 
     //float Trtotal = float.Parse(lblTotlTar.Text); 

     TrSsb = Trnumber1 + Trnumber2 + Trnumber3 + Trnumber4; 

     lblTotlTar.Text = TrSsb.ToString(); 

     float Achnumber1 = float.Parse(txt1stWeekAch.Text); 
     float Achnumber2 = float.Parse(txt2anWeekAch.Text); 
     float Achnumber3 = float.Parse(txt3rdWeekAch.Text); 
     float Achnumber4 = float.Parse(txt4thWeekAchv.Text); 
     // float Achtotal = float.Parse(lblTotlAchv.Text); 

     AchSsb = Achnumber1 + Achnumber2 + Achnumber3 + Achnumber4; 

     lblTotlAchv.Text = AchSsb.ToString(); 


     if (TrSsb >= AchSsb) 
     { 

      string updateCommand = "update om_DailyMoWiseCollection_Rpt set om_Region = '" + drpRegion.SelectedValue + "',om_Mo_Name = '" + drpMoName.SelectedValue + "',om_1stWeek_Target = '" + txt1stWeekTar.Text + "',om_1stWeek_Achv = '" + txt1stWeekAch.Text + "',om_2ndWeek_Target = '" + txt2anWeekTar.Text + "',om_2ndWeek_Achv = '" + txt2anWeekAch.Text + "',om_3rdWeek_Target ='" + txt3rdWeekTar.Text + "',om_3rdWeek_Achv ='" + txt3rdWeekAch.Text + "',om_4thWeek_Target ='" + txt4thWeekTar.Text + "',om_4thWeek_Achv ='" + txt4thWeekAchv.Text + "',om_total_Target ='" + lblTotlTar.Text + "',om_total_Achv ='" + lblTotlAchv.Text + "' Where om_sysmo_id = '" + txtSysmoid.Text + "'"; 
      SqlDataSource1.UpdateCommand = updateCommand; 
     } 
    } 
+1

可以請你張貼一部分代碼。 – Saar 2009-11-26 13:32:57

+0

你爲什麼要用查詢來更新下拉列表中的值?他們已經從數據庫中出來了嗎?你可以使用mydropdown.items.add('anitem'); – 2009-11-26 13:33:25

+0

嗨Tony, listview顯示數據庫值。如果我需要更新我需要的特定值。我必須改變的值是在列表視圖內的下拉列表中。請查詢 – indu 2009-11-27 04:44:40

回答

0

我會考慮使用一個DataGridView代替。這些支持在單元格中執行下拉列表,並具有更緊密的數據庫集成。在UI設計器中添加列時,您可以選擇爲列的類型指定DataGridComboBoxColumn。

我會這樣做的原因純粹是簡單和完成任務的速度。

要在列表視圖中執行所需操作,需要測量感興趣子項的位置等。當用戶滾動一下時,這可能會非常棘手。