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
}
脚本:
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
}
相关文章推荐
- 利用ASP.NET DataGrid显示主次关系的数据
- 利用ASP.NET DataGrid显示主次关系的数据
- Control Study -> Asp.net几个较复杂的显示数据控件(Repeater/DataList/DataGrid)用法 (示例代码下载)
- ASP.NET从SQL Server数据库提取图片并显示在DataGrid
- asp.net开发中利用jquery来实现滚动下拉标题浮动固定显示
- 利用ASP.NET DataGrid显示主次关系的数据
- 利用ASP.NET DataGrid显示主次关系的数据
- asp.net DataGrid实现分页显示数据
- 利用ASP.NET DataGrid显示主次关系的数据
- 利用ASP.NET DataGrid显示主次关系的数据(c#版)
- [原创]在ASP.NET环境下完整的datagrid填充数据后界面动态显示填充方案
- 利用ASP.NET来访问Excel文档+DATAGRID显示数据[注意:Excel中有图片]
- 利用ASP.NET来访问Excel文档+DATAGRID显示数据[注意:Excel中有图片]
- 利用ASP.NET DataGrid显示主次关系的数据
- asp.net(c#) datelist DataGrid 中截取字符串加"..." 和 鼠标放上去字符全部显示
- asp.net(c#) datelist DataGrid 中截取字符串加"..." 和 鼠标放上去字符全部显示
- ASP.Net中DataGrid翻页后继续保持(当前排序)显示
- asp.net的DataGrid中在每行依次显示序号的方法
- Control Study -> Asp.net几个较复杂的显示数据控件(Repeater/DataList/DataGrid)用法 (示例代码下载)
- asp.net frameset里一个frame中获取下拉框、单选框的值并作为参数传递到另一个frame里并显示结果