您的位置:首页 > 编程语言 > ASP

ASP.NET:在DataGrid中显示下拉列表框

2009-08-05 10:38 417 查看
ASP.NET:在DataGrid中显示下拉列表框
脚本:

1

<asp:DataGrid id="dgHHRole" runat="server" CssClass="DefaultText" AutoGenerateColumns="False" AllowPaging="True" PageSize="20" AllowSorting="True">
2

<FooterStyle Wrap="False" HorizontalAlign="Center" VerticalAlign="Middle"></FooterStyle>
3

<SelectedItemStyle HorizontalAlign="Center" ForeColor="Black" CssClass="defaultText" BackColor="#99FFFF"></SelectedItemStyle>
4

<AlternatingItemStyle HorizontalAlign="Center" CssClass="GridAlternateRows"></AlternatingItemStyle>
5

<ItemStyle HorizontalAlign="Center"></ItemStyle>
6

<HeaderStyle HorizontalAlign="Left" CssClass="GridHeaderAbove" VerticalAlign="Middle"></HeaderStyle>
7

<Columns>
8

<asp:BoundColumn Visible="False" DataField="RoleId" HeaderText="RoleId"></asp:BoundColumn>
9

<asp:BoundColumn DataField="FullName" SortExpression="FullName" HeaderText="Full Name"></asp:BoundColumn>
10

<asp:BoundColumn DataField="Location" HeaderText="Location"></asp:BoundColumn>
11

<asp:BoundColumn DataField="CallType" HeaderText="Call Type"></asp:BoundColumn>
12

<asp:BoundColumn DataField="RouteNm" HeaderText="Route Number"></asp:BoundColumn>
13

<asp:TemplateColumn HeaderText="Role">
14

<ItemTemplate>
15

<asp:DropDownList id="ddlHHRole" runat="server"></asp:DropDownList>
16

</ItemTemplate>
17

</asp:TemplateColumn>
18

</Columns>
19

<PagerStyle Mode="NumericPages"></PagerStyle>
20

</asp:DataGrid>
在ItemCreated事件中绑定数据

1

private void dgHHRole_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
2





{
3

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
4





{
5

DropDownList ddl = (DropDownList)e.Item.FindControl("ddlHHRole");
6

if(ddl != null)
7





{
8

ddl.DataSource = HHRoleDt;
9

ddl.DataTextField = "RoleNm";
10

ddl.DataValueField = "RoleId";
11

ddl.DataBind();
12

}
13

}
14

}
在ItemDataBound事件中设置值

1

private void dgHHRole_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
2





{
3

if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
4





{
5

DropDownList ddl = (DropDownList)e.Item.FindControl("ddlHHRole");
6

ListItem lst = new ListItem();
7

lst.Text = "";
8

lst.Value = "";
9


10

ddl.Items.Insert(0,lst);
11

SetValue(ddl,e.Item.Cells[0].Text);
12

}
13

}
14


15

private void SetValue(DropDownList ddl,string strvalue)
16





{
17

if(strvalue == null || strvalue.Trim().Length ==0)
18





{
19

return;
20

}
21

if(ddl != null && ddl.Items.Count >0)
22





{
23

int iIndex;
24

for(iIndex=0;iIndex<ddl.Items.Count;iIndex++)
25





{
26

if(ddl.Items[iIndex].Value.Trim() == strvalue.Trim())
27





{
28

ddl.Items[iIndex].Selected =true;
29

return;
30

}
31

else
32





{
33

ddl.Items[iIndex].Selected =false;
34

}
35

}
36

}
37

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: