表a(id,商品名称,price,.......)
表b(mc_id,商品名称)
我用GridView绑定了表a
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" />
<asp:BoundField DataField="商品名称" HeaderText="商品名称" />
.........
为了避免用户乱改商品名称
我想把商品名称做成固定格式,让使用者选择。取值来源表b
如何重新设计
<asp:BoundField DataField="商品名称" HeaderText="商品名称" />
绑定
表b(mc_id,商品名称)
我用GridView绑定了表a
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" />
<asp:BoundField DataField="商品名称" HeaderText="商品名称" />
.........
为了避免用户乱改商品名称
我想把商品名称做成固定格式,让使用者选择。取值来源表b
如何重新设计
<asp:BoundField DataField="商品名称" HeaderText="商品名称" />
绑定
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList list = (DropDownList)e.Row.Cells[5].FindControl("ddlCourse");
TextBox txt = (TextBox)e.Row.Cells[6].FindControl("txtNUM");//a表商品id
DataSet ds = getAll("select * from course");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string cid = ds.Tables[0].Rows[i]["mc_id"].ToString();//b表商品id
if(txt.text==cid)
{
list.Items.Add(new ListItem(ds.Tables[0].Rows[i]["cName"].ToString(), cid,true));
}
else
{
list.Items.Add(new ListItem(ds.Tables[0].Rows[i]["cName"].ToString(), cid,false));
}
}
}
{
DropDownList list = (DropDownList)e.Row.Cells[5].FindControl("ddlCourse");
string id=e.Row.Cells[0].Text;//a表商品id
DataSet ds = getAll("select * from course");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string cid = ds.Tables[0].Rows[i]["mc_id"].ToString();//b表商品id
if(id==cid)
{
list.Items.Add(new ListItem(ds.Tables[0].Rows[i]["cName"].ToString(), cid,true));
}
else
{
list.Items.Add(new ListItem(ds.Tables[0].Rows[i]["cName"].ToString(), cid,false));
}
}
}
前台
<asp:BoundField DataField="s#" HeaderText="编号" />
<asp:TemplateField HeaderText="科目">
<ItemTemplate>
<asp:DropDownList OnSelectedIndexChanged="ddlCourse_SelectedIndexChanged" AutoPostBack="True"
ID="ddlCourse" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
http://www.cnblogs.com/insus/articles/1997458.htmlhttp://www.cnblogs.com/insus/archive/2009/03/13/1411016.html
<ItemTemplate>
<%# Eval("商品名称")%>
</ItemTemplate>
<EditItemTemplate>
<asp:HiddenField ID="HDFSex" runat="server" Value='<%# Eval("商品名称") %>' />
<asp:DropDownList ID="DDLSex" runat="server" Width="90px" />
</EditItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
后台: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Attributes.Add("style", "background-image:url('../Image/bbs_title_bg.gif')");
}
if (((DropDownList)e.Row.FindControl("DDLSex")) != null)
{
DropDownList ddlSex = (DropDownList)e.Row.FindControl("DDLSex");
ddlSex.Items.Clear();
ddlSex.Items.Add(new ListItem("手机"));
ddlSex.Items.Add(new ListItem("电脑"));
// DropDownList初始被选择的项
ddlSex.SelectedValue = ((HiddenField)e.Row.FindControl("HDFSex")).Value;
}
}列表可以通过查数据库加