在下刚接触ASP.NET,用的是VS2005,C#,SQL SERVER2005开发环境,现在有一问题困扰,不知道可否实现,如何实现。在此求教各位坛友达人。
我的问题是这样的:我有一张用户表,另有角色表
部分数据结构如下
users 表
usercode username roleid.....roles 表
roleid rolename两表通过roleid进行关联。
在增加用户的窗体中,有一个用于浏览用户信息的gridview控件,我想在查询的时候,在该gridview控件中,角色那个列显示角色的名称而不是数字的roleid ,当选择某一行进行编辑的时候,角色这一列可以下拉选择,下拉显示的也是汉字的名称
不知道是否可以实现这样的效果,该怎样实现?
我的问题是这样的:我有一张用户表,另有角色表
部分数据结构如下
users 表
usercode username roleid.....roles 表
roleid rolename两表通过roleid进行关联。
在增加用户的窗体中,有一个用于浏览用户信息的gridview控件,我想在查询的时候,在该gridview控件中,角色那个列显示角色的名称而不是数字的roleid ,当选择某一行进行编辑的时候,角色这一列可以下拉选择,下拉显示的也是汉字的名称
不知道是否可以实现这样的效果,该怎样实现?
解决方案 »
- 修改已发布的资料出现web.config配置错误
- asp.net 网站在本地能运行 上传服务器出错!
- “对没有标记为安全的ActiveX控件进行初始化和脚本运行”设置为“启用”后不能正常显示
- 怎样把C#里的一个数组的值传给javascrip脚本里的一个数组?
- 请教高手:ASP.NET 2.0中的异步处理会给我们的软件开发带来什么好处?
- 求助…………………………………………………………
- 搞死了,求救。上传文件客户端控件赋初值(或者页面提交以后保持以前的值)
- 在asp.net里怎么写拖动事件!
- this.Repeater1.DataSource=this.SqlCommand1.ExcuteReader()这样邦定Repeater的数据源不对吗?
- 一个网站项目的若干问题(欢迎讨论)
- 怪怪怪。。弹出层的的按钮不响应服务器端代码
- 如何实现让类库自动调用函数?
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:DropDownList ID="ddlRoleName" runat="server" >
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>往模板里面啦进去一个下拉列别就行了。
然后给你代码。 protected void gvProType_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{ Role RoleId = RoleManager.GetRoleNameByRoleId(RoleId);//这参数自己想办法传进去
DropDownList ddlRole = (DropDownList)e.Row.FindControl("ddlRoleName");
ddlRole.DataSource = RolesManage.GetRoles();
ddlRole.DataTextField = "RoleName";
ddlRole.DataValueField = "RoleId";
ddlRole.SelectedValue = RoleId();
ddlRole.DataBind(); }
}
<asp:TemplateField HeaderText="來源形態">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("SourceType") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#Eval("SourceType").ToString().Trim() == "0" ? "來料" : "一般貿易" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>由于我这里不用去查数据库,所以就写了个简单的三元表达式,你可以建个CS文件,然后写上方法,然后在这里调用
gridview中某列拉个 DropDownList 列来源绑定数据源 和 设置值绑定
我的最终方法是这样的:
定义了一个绑定数据到DDL的方法ddlbind()
然后HTML中
<ItemTemplate>
<asp:DropDownList ID="ddlrole" runat="server" DataSource='<%# ddlbind()%>' DataValueField="roleid" DataTextField="rolename">
</asp:DropDownList>
</ItemTemplate>然后参考zengfanxing 在 gridview的RowDataBound事件中:
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
DropDownList ddlRole = (DropDownList)e.Row.FindControl("ddlRole");
ddlRole.SelectedValue = drv.Row["roleid"].ToString();
}暂时解决了正常显示正确值的问题,编辑的功能还没尝试是否正常,明天再看,再次感谢各位~