使用DataGrid动态绑定DropDownList
??????? //檢索數據庫的函數
??????????public DataSet GetZcbd()
????????? {
??????????? try
???????????{
????????????DataSet ds=new DataSet();???
????????????string searchString="select id,yy,bj from zc";
????????????da=new OleDbDataAdapter(searchString,conn);
????????????da.Fill(ds,"yy");????
??????????? ?return ds;
???????????}
???????????catch
???????????{
????????????return null;????
???????????}??
??????????}
???????? //綁定DataGrid???
??????? private void BindGrid()
??????????{
???????????DataSet ds = new DataSet();
???????????ds = us.GetZcbd();
???????????if (ds!=null)
???????????{
????????????this.DataGrid1.DataSource = ds;
????????????this.DataGrid1.DataBind();
???????????}
???????????else
???????????{
????????????msg.Alert("加載數據錯誤!",Page);
???????????}
??????????}
???????
??????? 綁定好DataGrid以后,設定模板列,讓其正常顯示下為Label,并綁定為數據庫中一ID值,在編輯狀態下為DropDownList,并綁定為數據庫中一Name值,我們現在要做的就是當我們選擇編輯時根據Label的值自動從數據庫中取出編號為ID值的姓名,并用DropDownList默認選中。(注釋:為了方便大家學習,我給出一個簡單代碼的例子,供大家參考)
??????????private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
????????????{
?????????????if (e.Item.ItemType == ListItemType.EditItem)
?????????????{
???????????????? DataRowView drv = (DataRowView)e.Item.DataItem;
??????????????string current = drv["label1"].ToString();
??????????????DropDownList ddl = (DropDownList)e.Item.FindControl("ddl");
??????????????ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue(current));
?????????????}
?????????????if ((e.Item.ItemType == ListItemType.Item)||(e.Item.ItemType == ListItemType.AlternatingItem))??
?????????{
??????????????Label t = (System.Web.UI.WebControls.Label)e.Item.FindControl("label1");
??????????????string current = this.BindDDL(int.Parse(t.Text));
??????????????e.Item.Cells[1].Text = current;
?????????????}
????????????}
????????????private string BindDDL(int ddd)
????????????{
?????????????string sss = "";
?????????????if (ddd==1)
?????????????{
??????????????sss="張三";
??????????????return sss;
?????????????}
?????????????else
?????????????{
???????????????? sss="李四";
??????????????return sss;
?????????????}
????????????}
???注釋:msg為一個類似WinForm的messagebox對話框,不必理會。可以使用label.Text代替
總結
以上是生活随笔為你收集整理的使用DataGrid动态绑定DropDownList的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在分页状态下删除纪录的问题
- 下一篇: DataGrid删除确认及Item颜色交