如何以编程方式更新详细信息视图。不是通过SQL DataSource或通过向导。我想从Code-Behind(.cs)更新详细信息视图
我有一个载有UserNames的下拉列表,在选择UserNAME时,我正在加载详细信息视图和用户信息。
现在我想以编程方式提供更新功能。
我该怎么做?..
答案 0 :(得分:0)
尝试在详细信息视图周围放置更新面板。向面板添加异步回发触发器 - 下拉列表的更改事件。
将下拉列表设置为autopostback。
如果没有完整的回发,您将获得所需的行为。
你可能会做得更好,但这会奏效。
答案 1 :(得分: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并刷新用户详细信息。
当然,你可以更有效率地做到这一点。
[编辑]
您可以通过在连接到db:
的DataGridView控件中显示详细视图来更新数据库中的数据SqlDataAdapter adapter = new SqlDataAdapter("select * from users", conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
在DataGridView中编辑数据,毕竟:
adapter.Update(ds);
完成!