B/S架构的MIS中,在DataGrid中使用DropDownList是很常见的事情
Html代码如下:
<asp:TemplateColumn HeaderText="细目">
![](/Images/OutliningIndicators/None.gif)
<HeaderStyle Width="15%"></HeaderStyle>
![](/Images/OutliningIndicators/None.gif)
<ItemTemplate>
![](/Images/OutliningIndicators/None.gif)
<asp:Label Runat=server Text='<%#DataBinder.Eval(Container, "DataItem.TicketType")%>'></asp:Label>
![](/Images/OutliningIndicators/None.gif)
</ItemTemplate>
![](/Images/OutliningIndicators/None.gif)
<EditItemTemplate>
![](/Images/OutliningIndicators/None.gif)
<asp:DropDownList id="ddl_Detail" runat="server" Width="100%">
![](/Images/OutliningIndicators/None.gif)
<asp:ListItem Value="Train">火车票</asp:ListItem> <asp:ListItem Value="Air">机票</asp:ListItem>
![](/Images/OutliningIndicators/None.gif)
<asp:ListItem Value="Taxi">计程车费</asp:ListItem>
![](/Images/OutliningIndicators/None.gif)
<asp:ListItem Value="Bus">公共汽车费</asp:ListItem>
![](/Images/OutliningIndicators/None.gif)
<asp:ListItem Value="Book">订票费</asp:ListItem>
![](/Images/OutliningIndicators/None.gif)
<asp:ListItem Value="Other">其它</asp:ListItem>
![](/Images/OutliningIndicators/None.gif)
</asp:DropDownList>
![](/Images/OutliningIndicators/None.gif)
<asp:Label Runat=server ID=lbl_Detail Text='<%#DataBinder.Eval(Container, "DataItem.TicketType")%>' Visible=False></asp:Label>
![](/Images/OutliningIndicators/None.gif)
</EditItemTemplate>
![](/Images/OutliningIndicators/None.gif)
</asp:TemplateColumn>
![](/Images/OutliningIndicators/None.gif)
<asp:TemplateColumn HeaderText="来程/去程">
![](/Images/OutliningIndicators/None.gif)
<HeaderStyle Width="15%"></HeaderStyle>
![](/Images/OutliningIndicators/None.gif)
<ItemTemplate>
![](/Images/OutliningIndicators/None.gif)
<asp:Label Runat=server Text='<%#DataBinder.Eval(Container, "DataItem.ComeOrBack")%>'></asp:Label>
![](/Images/OutliningIndicators/None.gif)
</ItemTemplate>
![](/Images/OutliningIndicators/None.gif)
<EditItemTemplate>
![](/Images/OutliningIndicators/None.gif)
<asp:DropDownList id="ddl_ComeOrBack" runat="server" Width="100%">
![](/Images/OutliningIndicators/None.gif)
<asp:ListItem Value="Come">来程</asp:ListItem>
![](/Images/OutliningIndicators/None.gif)
<asp:ListItem Value="Back">去程</asp:ListItem>
![](/Images/OutliningIndicators/None.gif)
</asp:DropDownList>
![](/Images/OutliningIndicators/None.gif)
<asp:Label Runat=server ID="lbl_ComeOrBack" Text='<%#DataBinder.Eval(Container, "DataItem.ComeOrBack")%>' Visible=False></asp:Label>
![](/Images/OutliningIndicators/None.gif)
</EditItemTemplate>
![](/Images/OutliningIndicators/None.gif)
</asp:TemplateColumn>
![](/Images/OutliningIndicators/None.gif)
这个DataGrid的第一个Column是编辑列,DropDownList放在EditItemTemplate里,点击“修改”,问题出现了,修改前的细目是“计程车票”,点击“编辑”后,如何使ddl的index还保持在继承车票上呢?C#代码如下:
private void dg_Detail_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
![](/Images/OutliningIndicators/None.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
if( e.Item.ItemType == ListItemType.EditItem )//判断是否是EditItemTemplate
![](/Images/OutliningIndicators/InBlock.gif)
{
![](/Images/OutliningIndicators/InBlock.gif)
DropDownList ddl_Detail = (DropDownList)e.Item.FindControl("ddl_Detail");
![](/Images/OutliningIndicators/InBlock.gif)
DropDownList ddl_ComeOrBack = (DropDownList)e.Item.FindControl("ddl_ComeOrBack");
![](/Images/OutliningIndicators/InBlock.gif)
Label lbl_Detail = (Label)e.Item.FindControl("lbl_Detail");
![](/Images/OutliningIndicators/InBlock.gif)
Label lbl_ComeOrBack = (Label)e.Item.FindControl("lbl_ComeOrBack");
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
string str1 = lbl_Detail.Text;
![](/Images/OutliningIndicators/InBlock.gif)
string str2 = lbl_ComeOrBack.Text;
![](/Images/OutliningIndicators/InBlock.gif)
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的索引
}
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
OK啦!
Html代码如下:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
这个DataGrid的第一个Column是编辑列,DropDownList放在EditItemTemplate里,点击“修改”,问题出现了,修改前的细目是“计程车票”,点击“编辑”后,如何使ddl的index还保持在继承车票上呢?C#代码如下:
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
OK啦!