如何给GridView的表头加下拉框

如何给GridView的表头加下拉框,第1张

添加模板类就行,类似这样的

<asp:TemplateField HeaderStyle-Width="5%">

<HeaderTemplate>删除</HeaderTemplate>

<ItemTemplate>

<asp:ImageButton ID="btnDel" Runat="server" ImageUrl="../Images/IconDelete.gif" CommandName="delete" OnClientClick="return confirm('确定删除吗?')">

</asp:ImageButton>

</ItemTemplate>

<ItemStyle HorizontalAlign="Center" />

后台里在事件中遍历该控件就可以!

把要编辑的那列数据设为模板,放一个下拉框和一个HiddenField控件,

protected void GridView1_DataBound(object sender, EventArgs e)

{

if (GridView1.EditIndex != -1)

{

for(int i=0i<GridView1.Rows.Counti++)

{

if (GridView1.Rows[i].RowState == (DataControlRowState.Alternate | DataControlRowState.Edit) || GridView1.Rows[i].RowState== DataControlRowState.Edit)

{

DropDownList ddl = GridView1.Rows[i].Cells[1].FindControl("ddlName") as DropDownList

HiddenField hid = GridView1.Rows[i].FindControl("HidName") as HiddenField

ddl.SelectedValue = hid.Value

}

}

}

}

gridview本身显示多少行是没有限制的,可以通过分页来控制显示多少行

单页上显示的记录数默认值为10,一次加载太多内容会影响页面打开速度。可以用PageSize来控制,好像没限制吧。如果不分页,数据加载太多,页面打开速度过慢,当我们运行程序的时候,会发现,datagridview显示datatable中的值,下拉框有我们绑定的数据,但是当我在下拉框中选择一个值离开后,gridview不会显示我们选中的值,而是回到原值。我们就要想办法让我们选中一个值时,保存到datatable中,这样当我们离开后,bindingSource自然会刷新gridview,以达到显示选中值的效果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11721865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存