gridview行中一列中加入dropdownlist,它的项是动态绑定的。选择完dropdownlist项,点击页面保存按钮(不是在gridview更新)时,却只能取到第一项的值???请高手来回答代码:<asp:TemplateField HeaderText="验收人员">
<ItemTemplate>
<asp:DropDownList ID="rydrop" runat="server" Width="100px" >
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
前台:(这时候绑定)
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//gridview数据动态绑定略。
//下面是dropdownlist绑定,也没问题。
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DropDownList rydrop = (DropDownList)GridView1.Rows[i].FindControl("rydrop");
if (rydrop != null)
{
SqlDataAdapter myda = new SqlDataAdapter();
myda.SelectCommand = new SqlCommand("select name from uset where duty='仓管员'", sqlcon);
DataSet ds = new DataSet();
myda.Fill(ds, "uset");
DataTable dt = ds.Tables["uset"]; DataRow temp = dt.NewRow();//添加一空项
temp["name"] = "aaaxxxxxx";
dt.Rows.InsertAt(temp, 0); rydrop.DataSource = dt;
rydrop.DataTextField = "name";
rydrop.DataValueField = "name";
rydrop.DataBind();
}
}
}
}
绑定完后在页面上放置一个BUTTON按钮,选择完GRIDVIEW的dropdownlist项后,点击按钮,可是读取不到dropdownlist选择值,一直只能读取第一个,即使dropdownlist项不是动态绑定,也是一样,不清楚为什么??求高手解决!!!
<ItemTemplate>
<asp:DropDownList ID="rydrop" runat="server" Width="100px" >
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
前台:(这时候绑定)
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//gridview数据动态绑定略。
//下面是dropdownlist绑定,也没问题。
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DropDownList rydrop = (DropDownList)GridView1.Rows[i].FindControl("rydrop");
if (rydrop != null)
{
SqlDataAdapter myda = new SqlDataAdapter();
myda.SelectCommand = new SqlCommand("select name from uset where duty='仓管员'", sqlcon);
DataSet ds = new DataSet();
myda.Fill(ds, "uset");
DataTable dt = ds.Tables["uset"]; DataRow temp = dt.NewRow();//添加一空项
temp["name"] = "aaaxxxxxx";
dt.Rows.InsertAt(temp, 0); rydrop.DataSource = dt;
rydrop.DataTextField = "name";
rydrop.DataValueField = "name";
rydrop.DataBind();
}
}
}
}
绑定完后在页面上放置一个BUTTON按钮,选择完GRIDVIEW的dropdownlist项后,点击按钮,可是读取不到dropdownlist选择值,一直只能读取第一个,即使dropdownlist项不是动态绑定,也是一样,不清楚为什么??求高手解决!!!
解决方案 »
- 如何用asp.net控件获取JavaScript产生的值-----实现校内网中的“选择大学”的功能(附JavaScript文件)
- 这个sql怎么写,对两个表的汇总查询?
- 求一正则表达式!判断用户输入的值是不是“我” 如果是的话 就提示出错
- 怎样让DataGrid的TemplateColumn中的LinkButton对某些行显示,某些则不显示
- 请教关于URL的隐藏问题!!!!
- datagrid 显示图片的问题
- asp.net下,C#语言,怎样读出csv文件的内容?
- “sum 函数要求有 1 个参数。”
- JAVA有没有像MSDN那样的帮助文档?
- 是哥们快帮忙!分数换友情:)
- 远端Session丢失,本地调试正常,服务器本地正常.
- 菜鸟求救!!!gridview 分页可以嵌套吗?
<asp:DropDownList ID="ddlSort" runat="server" Width="98%">
</asp:DropDownList>
<asp:HiddenField ID="Hd_Sort" runat="server" Value='<%# Eval("BalSort")%>' />
</ItemTemplate>
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{ if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
{
((DropDownList)e.Row.FindControl("ddlSort")).SelectedValue = ((HiddenField)e.Row.FindControl("Hd_Sort")).Value;
}
}
} protected void gv_RowEditing(object sender, GridViewEditEventArgs e)
{
gv.EditIndex = e.NewEditIndex;
string strSort = ((DropDownList)gv.Rows[e.NewEditIndex].FindControl("ddlSort")).SelectedValue.Trim();
gv.EditIndex = -1;
BindData();
}
wuyq11
(人生如梦)++
GRIDVIEW数据大概有几十行,对每一行的dropdownlist选择完项后,通过页面保存按钮一次保存dropdownlist选择的值。
问题来了:当我点击保存的时候,保存的值都是dropdownlist第一项的值,无法得到我选择的值,而且点保存后dropdownlist显示的值也是第一项的值
protected void LinkButton1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DropDownList rydrop = GridView1.Rows[i].Cells[23].FindControl("rydrop") as DropDownList;
string ysry = rydrop.SelectedValue.ToString(); string upsql = "update reachview set ysry='" + rydrop.SelectedItem.Text + "' where id='" + GridView1.DataKeys[i].Value + "' "; SqlCommand sqlcom = new SqlCommand(upsql, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
{
DropDownList rydrop = GridView1.Rows[i].Cells[23].FindControl("rydrop") as DropDownList;
string ysry = rydrop.SelectedValue.ToString(); string upsql = "update reachview set ysry='" + rydrop.SelectedItem.Text + "' where id='" + GridView1.DataKeys[i].Value + "' "; SqlCommand sqlcom = new SqlCommand(upsql, sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
}
}