怎样在 GridView 中用 DropDownList 来更新数据? 10

如图,我在SQLServer中新建了两种表:Person和city。主要代码如下:我要实现的是用下拉菜单更新某人所在城市,但发现在一个数据源中无法访问另一个数据源的变量,... 如图,我在 SQL Server 中新建了两种表:Person和city。

主要代码如下:

我要实现的是用下拉菜单更新某人所在城市,但发现在一个数据源中无法访问另一个数据源的变量,C#后台代码又无法访问编辑模版中的下拉菜单控件。这么一个很基本的问题我研究了一个星期了都搞不定,帮帮我。
模板里面两个都是 SqlDataSource2 漏改了一个。两种表→两张表,打错字。
展开
 我来答
邠心
2015-08-05 · 超过15用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:23.4万
展开全部

不要用系统自带的字段,添加一个模板字段,自定义实现显示内容,自己添加更新按钮,在按钮的点击事件中更新数据,数据源直接用代码从数据库获取(ADO.NET),在页面加载事件中绑定

<asp:GridView ID="gvList" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="False" Width="90%" CssClass="grid_b" OnRowDataBound="gvList_RowDataBound">
                <Columns>
                    <asp:TemplateField>
                        <HeaderTemplate>
                            此处为标题模板
                        </HeaderTemplate>
                        <ItemTemplate>
                            此处为行模板
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <EmptyDataTemplate>
                    <div style="width: 100%; text-align: center;">当前没有数据,请添加!</div>
                </EmptyDataTemplate>
                <RowStyle BackColor="white" />
            </asp:GridView>
匿名用户
2015-05-03
展开全部
1. <asp:DropDownList ID="ddlEsbName" runat="server" CssClass="more" AutoPostBack="true"
OnSelectedIndexChanged="ddlEsbName_SelectedIndexChanged">
</asp:DropDownList>

private void GetDropDown()
{
ddlEsbName.DataSource = kbView.SelectRegCompanyByGroupBy(1);
ddlEsbName.DataTextField = "CompanyName";
ddlEsbName.DataValueField = "CompanyId";
ddlEsbName.DataBind();
ddlEsbName.Items.Insert(0, new ListItem("所有购物吧", "0"));
}

protected void ddlEsbName_SelectedIndexChanged(object sender, EventArgs e)
{

int pageCount = 0;
PublicLib.Web.PageSplit pSplit = new Tlx.PublicLib.Web.PageSplit(Convert.ToInt32(paginalPbOffer.MethodType), Convert.ToInt32(paginalPbOffer.PageSize));
PbOfferInfo[] _lists = kbView.SelectHistoryProductInfo(ddlEsbName.SelectedValue, pSplit.pageSize, pSplit.pageNo, out pSplit.recordCount, out pageCount);
GridviewID.DataSource = _lists;
paginalPbOffer.RecordCount = pSplit.recordCount;
paginalPbOffer.PageSize = pSplit.pageSize;
GridviewID.DataBind();
}
追问
谢谢你的例子,但是跟我的问题不同,你的例子是选择下拉菜单的某项后执行 SelectedIndexChanged 事件,事件中并没有更新数据库的操作,而 GetDropDown 根本没被调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ningdeng123
推荐于2020-12-02 · TA获得超过2304个赞
知道小有建树答主
回答量:996
采纳率:25%
帮助的人:450万
展开全部
这个是gridview中 CommandField 里面的更新事件

protected void gv_RowUpdating( object sender , GridViewUpdateEventArgs e )
{
DropDownList ddl = gv.Rows[ e.RowIndex ].FindControl( "DropDownList1" ) as DropDownList;
string id = ddl.Text;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式