在DataGrid中使用DropDownList(原创)

时间:2022-04-20 10:06:19
  B/S架构的MIS中,在DataGrid中使用DropDownList是很常见的事情
Html代码如下:
在DataGrid中使用DropDownList(原创)< asp:TemplateColumn HeaderText = " 细目 " >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)       
< HeaderStyle Width = " 15% " ></ HeaderStyle >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)              
< ItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                     
< asp:Label Runat = server Text = ' <%#DataBinder.Eval(Container, "DataItem.TicketType")%> ' ></ asp:Label >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)              
</ ItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)       
< EditItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                     
< asp:DropDownList id = " ddl_Detail "  runat = " server "  Width = " 100% " >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                            
< asp:ListItem Value = " Train " > 火车票 </ asp:ListItem >                                                   < asp:ListItem Value = " Air " > 机票 </ asp:ListItem >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                            
< asp:ListItem Value = " Taxi " > 计程车费 </ asp:ListItem >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                            
< asp:ListItem Value = " Bus " > 公共汽车费 </ asp:ListItem >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                            
< asp:ListItem Value = " Book " > 订票费 </ asp:ListItem >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                            
< asp:ListItem Value = " Other " > 其它 </ asp:ListItem >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                     
</ asp:DropDownList >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                     
< asp:Label Runat = server ID = lbl_Detail Text = ' <%#DataBinder.Eval(Container, "DataItem.TicketType")%> '  Visible = False ></ asp:Label >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)       
</ EditItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)
</ asp:TemplateColumn >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)       
< asp:TemplateColumn HeaderText = " 来程/去程 " >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)         
< HeaderStyle Width = " 15% " ></ HeaderStyle >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)           
< ItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                
< asp:Label Runat = server Text = ' <%#DataBinder.Eval(Container, "DataItem.ComeOrBack")%> ' ></ asp:Label >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)              
</ ItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)       
< EditItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)              
< asp:DropDownList id = " ddl_ComeOrBack "  runat = " server "  Width = " 100% " >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                     
< asp:ListItem Value = " Come " > 来程 </ asp:ListItem >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                     
< asp:ListItem Value = " Back " > 去程 </ asp:ListItem >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)              
</ asp:DropDownList >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)              
< asp:Label Runat = server ID = " lbl_ComeOrBack "  Text = ' <%#DataBinder.Eval(Container, "DataItem.ComeOrBack")%> '  Visible = False ></ asp:Label >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)       
</ EditItemTemplate >
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)
</ asp:TemplateColumn >
在DataGrid中使用DropDownList(原创)

这个DataGrid的第一个Column是编辑列,DropDownList放在EditItemTemplate里,点击“修改”,问题出现了,修改前的细目是“计程车票”,点击“编辑”后,如何使ddlindex还保持在继承车票上呢?C#代码如下:
在DataGrid中使用DropDownList(原创)private   void  dg_Detail_ItemDataBound( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)在DataGrid中使用DropDownList(原创)         
{
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)              
if( e.Item.ItemType == ListItemType.EditItem )//判断是否是EditItemTemplate
在DataGrid中使用DropDownList(原创)

在DataGrid中使用DropDownList(原创)在DataGrid中使用DropDownList(原创)              
{
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                   DropDownList ddl_Detail 
= (DropDownList)e.Item.FindControl("ddl_Detail");
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                   DropDownList ddl_ComeOrBack 
= (DropDownList)e.Item.FindControl("ddl_ComeOrBack");
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                   Label lbl_Detail 
= (Label)e.Item.FindControl("lbl_Detail");
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                   Label lbl_ComeOrBack 
= (Label)e.Item.FindControl("lbl_ComeOrBack");
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创) 
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                   
string str1 = lbl_Detail.Text;
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                   
string str2 = lbl_ComeOrBack.Text;
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)                   ddl_Detail.SelectedIndex = ddl_Detail.Items.IndexOf( ddl_Detail.Items.FindByText(str1) );               ddl_ComeOrBack.SelectedIndex = ddl_ComeOrBack.Items.IndexOf( ddl_ComeOrBack.Items.FindByText(str2) );//这里的代码就是为了设置ddl的索引

在DataGrid中使用DropDownList(原创)              }
        
在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)         }

在DataGrid中使用DropDownList(原创)
在DataGrid中使用DropDownList(原创)


 OK!