2010-11-19 71 views
0

如何以編程方式更新詳細信息視圖。不通過SQL數據源或通過嚮導。我想從代碼隱藏更新詳細信息視圖(.cs)以編程方式更新詳細信息視圖C#

我有一個用UserNames加載下拉菜單,選擇用戶名,我加載詳細信息視圖與用戶信息。

現在我想以編程方式提供更新功能。

我該怎麼做?

+0

你想讓用戶更新詳細信息嗎?你用什麼來呈現信息; Winform,Webform,MVC? – Holystream 2010-11-19 21:42:18

回答

0

嘗試把詳細信息視圖周圍的更新面板。向面板添加異步回發觸發器 - 下拉列表的更改事件。

將下拉列表設置爲autopostback。

您將在沒有完整回傳的情況下獲得所需的行爲。

你也許能做得更好,但這會奏效。

+0

我正在做你說的,但我的問題是如何更新DetailsView使用C#編程? – msbyuva 2010-11-19 20:03:49

+0

使用事件處理程序 - 下拉列表selectedindexchanged – Broam 2010-11-26 14:56:00

0

如果您已經在下拉列表選擇後顯示任何表單上的數據,則可以使用 您正在使用「SelectedIndexChanged」事件。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
     StringBuilder sb = new StringBuilder(); 
     // show user details for example by get the data from db 
     string query = "SELECT userId, UserName FROM Users"; 
     SqlConnection conn = new SqlConnection("conn string"); 
     SqlCommand comd = new SqlCommand(query, conn); 
     conn.Open(); 
     using(SqlDataReader r = comd.ExecuteReader()) 
     { 
      while(r.Read()) 
      {     
      sb.AppendLine(r.GetInt32(0) + ", " + r.GetString(1));     
      } 
      conn.Close(); 
     } 
     textBox1.Text = sb.ToString(); 
} 

執行由塞汀期望指數刷新數據:

this.comboBox1.SelectedIndex = 0; 

它調用的SelectedIndexChanged envent和刷新用戶的詳細信息。

當然,你可以做得更有效率。

[編輯]

可以通過顯示在連接到分貝DataGridView控件的詳細視圖更新數據庫中的數據:在DataGridView中

SqlDataAdapter adapter = new SqlDataAdapter("select * from users", conn); 
DataSet ds = new DataSet(); 
adapter.Fill(ds); 
dataGridView1.DataSource = ds.Tables[0]; 

編輯數據和畢竟:

adapter.Update(ds); 

完成!

+0

我想編輯和更新從DetailsView數據庫中的值..我該怎麼做,與下拉無關我認爲?.. – msbyuva 2010-11-19 21:28:47

+0

Anwer編輯 - 見[編輯]部分 – UGEEN 2010-11-19 22:01:51

+0

嗨,我有20列用戶信息。所以,GridView中的這20個字段將會不太好,因爲它將是一個水平行,它將跨越我的頁面。對不起,如果我問一個愚蠢的問題,我可以在垂直顯示Gridview記錄像DetailsView? – msbyuva 2010-11-19 22:50:35

相關問題