×

gridview控件使用详解 gridview控件 rid

gridview控件使用详解(gridview控件的功能是什么)

admin admin 发表于2022-09-03 21:57:13 浏览186 评论0

抢沙发发表评论

本文目录

gridview控件的功能是什么


本文将由达内的讲师详细为您介绍关于的相关常识。 我们在很多的第三方控件中都会发现有点击列头进行排序的功能,其实,在GridView控件中也是可以实现的,下面我们就看看如何在GridView控件中实现排序的示例。 以下为实现在GridView控件排序功能的全部代码,各位只需复制粘贴到vs中即可运行。 前台代码: 《asp:GridView ID=“GridView1“ runat=“server“ AllowSorting=“True“ AutoGenerateColumns=“False“ CellPadding=“3“ OnSorting=“GridView1_Sorting“ 》《Columns 》《asp:BoundField DataField=“身份证号码“ HeaderText=“用户ID“ SortExpression=“身份证号码“ / 》《asp:BoundField DataField=“姓名“ HeaderText=“用户姓名“ SortExpression=“姓名“/ 》《asp:BoundField DataField=“员工性别“ HeaderText=“性别“ SortExpression=“员工性别“/ 》《asp:BoundField DataField=“家庭住址“ HeaderText=“家庭住址“ SortExpression=“家庭住址“/ 》《/Columns 》

GridView 控件的作用及常用属性有哪些,作用是什么


一般用于显示列表信息,
《asp:GridView ID=“gvMessage“ CssClass=“grayBorder“ AutoGenerateColumns=“False“
runat=“server“ Width=“800px“》
《Columns》
《asp:BoundField DataField=“Title“ HeaderText=“消息标题“ /》
《asp:TemplateField HeaderText=“消息类型“》
《ItemTemplate》
《asp:Label ID=“Label1“ runat=“server“
Text=’《%# Eval(“Type.MessageTypeName“) %》’》《/asp:Label》
《/ItemTemplate》
《/asp:TemplateField》
《asp:BoundField DataField=“BeginTime“ HeaderText=“开始时间“ /》
《asp:BoundField DataField=“EndTime“ HeaderText=“结束时间“ /》
《asp:BoundField DataField=“RecordTime“ HeaderText=“创建时间“ /》
《asp:TemplateField HeaderText=“修改“》
《ItemTemplate》
《asp:ImageButton ID=“ibnEdit“ ImageUrl=“~/images/edit.gif“ runat=“server“
PostBackUrl=’《%# Eval(“MessageId“,“~/Message/MessageManage/EditMessage.aspx?id={0}“) %》’ /》
《/ItemTemplate》
《/asp:TemplateField》
《asp:TemplateField HeaderText=“删除“》
《ItemTemplate》
《asp:ImageButton ID=“ibnDel“ runat=“server“ ImageUrl=“~/images/delete.gif“
CommandArgument=’《%# Eval(“MessageId“) %》’
OnClientClick=“return confirm(’确定要删除吗?’)“ onclick=“ibnDel_Click“ /》
《/ItemTemplate》
《/asp:TemplateField》
《/Columns》
《/asp:GridView》
DataField-》对应数据库字段,

ASP.NET中Gridview控件的使用方法!!!


不要用button Gridview 自身的模板化后的linkbutton 有一个e.CommandArgument 属性 《ItemTemplate》
《asp:LinkButton ID=“LinkButton1“ runat=“server“ CausesValidation=“false“
CommandName=“button“ Text=“获取行号“ CommandArgument=’《%# Container.DataItemIndex %》’
onclick=“LinkButton1_Click“》《/asp:LinkButton》
《/ItemTemplate》
《/asp:TemplateField》
CommandArgument=’《%# Container.DataItemIndex %》’ 这句话就是行号
然后在后台
int j = Convert.ToInt32(e.CommandArgument); //在rowdatacommand函数中写
Response.Write(“《script》window.confirm(’这是第“+ j +“ 行’)《/script》“)
点击哪行就显示几 //
-gridview控件使用详解

如何在GridView控件中实现编辑和删除功能


1.所接的数据源(即数据表)必须有主键;
2.配置SqlDataSource:点击配置数据源,新建一个连接,下一步,选择一个表,要具有增加、编辑和删除功能,在这个窗体里点高级按钮,弹出高级SQL生成选项的窗口,如果所选择的表(即数据源)没有主键,在这个窗口的所有选项是灰色的,无法使用。在这个窗口里生成增加、修改、删除语句。这样完成了SqlDataSource控件的数据源配置。
3.配置GridView控件。
(1)在属性面板设置DataSourceID属性为数据源控件SqlDataSource控件。
(2)打开GridView任务面板(在这个控件的右上按钮处),选择编辑列,在此可以增加要显示的列。
(3)在GridView任务面板选择启用编辑、启用删除项,要注意的是:如果在配置SqlDataSource时没有通过高级按钮来生成增加、修改、删除语句,在这个任务面板中将无法见到这几个选项。这样选择后,会自动在GridView生成一列,具有增加、修改、删除按钮。另外也可以通过编辑列或模板列的方式生成增加、修改、删除按钮。通过以上三步,不用编写一句代码就能使GridView具有编辑、增加、删除功能,很方便。
-rid

Visual Studio里的GridView控件用法


通过GridView 的 DataBound事件, 为每一行添加 点击事件:
Entity entity = e.Row.DataItem as Entity; //Entity是你绑定到GridView的对象
string workPath = entity.WordPath;
e.Row.Attribute.Add(“onclick“,“window.open(’“ + workPath + “’)“);
-gridview控件使用详解

如何使用最简便的方式实现GridView下的插入/新建数据操作


本文中我将举例说明快速解决这个问题的方法。
介绍几个月前我写了一篇文章,是讲述一个允许你在DataGrid里添加一条新记录的技巧。 GridView控件不允许你插入新记录。 这种情况下开发人员经常使用如下的技术增加新记录:
·他们在GridView的下面放置一个DetailsView控件。 用户可以通过DetailsView增加新记录,然后这条新记录就会显示在GridView里。
·他们通过一个超级链接使用户连接到另一个使用DetailsView增加新记录的web form。 一旦记录被添加后就会返回之前的页。
这些方法都有它们自己的缺点。 第一种方法占用了太多的屏幕空间,即使你增加的只是很少的记录。 所以它不是“主要用于编辑,偶尔增加记录”情况下的好的选择。 第二种选择需要额外创建一个web form,因为来回导航会需要向服务器发送更多的请求。 本文中我将举例说明快速解决这个问题的方法。解决方案
GridView控件提供了一个被称作Empty Data Template的模板。当GridView里没有数据显示的时候这个模板就会显示出来。 一般在没有数据显示的时候,这个模板会被用于显示一个给出示给用户的状态信息。 但是,你也可以为了别的目的而是用它。 本例中,你将使用它来给GridView增加新的记录。
新建一个Web Form示例
开始先在Visual Studio中新建一个web站点。 拖拽一个SQL数据源控件并配置它以从Northwind数据库的Customers表中选择出CustomerID、CompanyName、ContactName和Country列。确保选择了“高级”按钮,并且选中“生成INSERT、UPDATE和DELETE语句”复选框。(一定要设置数据的主键,否则该功能无法实现)现在,在你的web form里添加一个GridView控件,设置它的DataSourceID属性为SqlDataSource1。 启用这个GridView的编辑、删除和分页。 在GridView的智能标签中选择“编辑列…”选项。在GridView中增加一个ButtonField,并设置它的CommandName属性为Insert。 用户通过单击插入按钮来增加新的记录。 现在右键单击GridView选择编辑模板 – Empty Data Template菜单选项。 拖拽DetailsView控件到Empty Data Template内,设置它的DataSourceID属性为SqlDataSource1。 同时设置它的DefaultMode属性为Insert。当Empty Data Template显示的时候,DetailsView将会做好插入记录之前的准备。
现在来到web form的后置代码中写出GridView的RowCommand事件处理的代码,出示如下:(DataSourceID=“”;不能实现前面代码数据分页功能,所以应为DataSourceID=null;)protectedvoid GridView1_RowCommand(object sender, GridViewCommandEventArgs e){if (e.CommandName ==“Insert“){GridView1.DataSourceID =““;
GridView1.DataBind();
}} 这里我们检查了GridViewCommandEventArgs的CommandName是否是“Insert”。 如果我们设置了GridView的DataSourceID属性为空,然后调用GridView的DataBind()方法的话, 那么GridView将不会有任何数据,从而显示Empty Data Template。
现在我们来处理DetailsView控件的ItemInserted事件。当DetailsView成功的插入了一条新记录的时候,这个ItemInserted事件就会被触发。 在ItemInserted事件内写出如下代码:(实际操作的时候写得是Get_Sql();)protectedvoid DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e){GridView1.DataSourceID =“SqlDataSource1“;
GridView1.DataBind();
}这里我们再次设置了GridView的DataSourceID属性为SqlDataSource1,然后再次绑定它。 这样GridView就可以显示出最新插入的记录。 总结
1、GridView控件不允许你插入新的记录。 但是,通过它的Empty Data Template的帮助和DetailsView控件,你就可以有一个插入新记录的非常棒的方法。 用这种方法你可以节省屏幕空间,也不需要再用额外的页了。
-rid

GridView是如何使用的,请详细些!谢了啊


VS2008中GridView小结:
一:列字段类型:
1 列类型:
BoundField:绑定列,将数据库中的数据以字符形式绑定显示
CheckBoxField:复选框列,一般用来绑定数据库中的Bit型数,以复选框的形式显示在GridView中
HyperLinkField:超链接列,可以用数据源中的数据作超链接文本也可以把所有超链接文本设为统一的文本
ImageField:图片列,绑定数据源中的图片路径,并把图片显示出来
CommandField:命令列,常用的“选择”,“删除”,“编辑、更新、取消”
ButtonField:按钮列,其它做用的按钮
TemplateField:模板列,可以更灵活地自定义显示格式
2 在 Aapx页面中主要做几项工作:
(1) 列类型的选择
(2) 列样式选择(也可再RowDataBound事件中设置)
(3) 列格式化显示
(4) 列参数设置
(5) 隐藏列的设置(也可再RowDataBound事件中设置)
二:不同事件中,如何取得:主键值,列值,列控件
三:在模板列中可加入各种服务器控件,在模板列中的命令按钮,首先触发GridView1_RowCommand,其次触发Button_Click事件
1 在模板列中取得控件,在Button_Click事件
(1) ((Label)(((LinkButton)sender).Parent.FindControl(“Label1“))).Text = “change me“;
(2) 在TextBox 的TextChanged事件中:
TextBox t = (TextBox)sender;
GridViewRow drv = (GridViewRow)t.NamingContainer;
int rowIndex = drv.RowIndex;
string coid = ((Label)gdvList.Rows[drv.RowIndex].FindControl(“lblCoId“)).Text;
(1) protected void lbtnViewRole_Click(object sender, EventArgs e)
{
int rowIndex = ((GridViewRow)((LinkButton)sender).NamingContainer).RowIndex;
RoleModel role = RoleBLL.GetRoleInfo(Int32.Parse(gvRoleList.Rows[rowIndex].Cells.Text));
txtRoleNameEdit.Text = role.RoleName;
txtRoleDescEdit.Text = role.RoleDesc;
cbIsAuth.Checked = role.IsUser;
cbIsSysEdit.Checked = role.IsSystem;
}
2 在模板列中取得控件,在GridView1_RowCommand事件
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
     {
        if (e.CommandName == “lbtn“)
        {
//获取被点击的linkButton所在的GridViewRow
            GridViewRow gvrow = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
            int index = gvrow.RowIndex; //获取到行索引 RowIndex
            //获取当前行的某列值
            string userid=GridView1.Rows[index].Cells[列索引].Text.Trim();
            ......
        }     
     }
3 在模板列中取得控件,在GridView1_RowCommand事件
int index = Convert.ToInt32(e.CommandArgument); //获得该按钮在gridview中的位置,即第几行
GridViewRow row = GridView1.Rows[index]; //通过索引返回该行
string i= row.Cells.Text.ToString().Trim(); //获得该行第1列的数据项
四:在《asp:ButtonField》中的命令按钮只能在GridView1_RowCommand事件中触发
1 《asp:ButtonField ButtonType=Button ButtonType=Image ButtonType=Link...有三种按钮类型。
2 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == “aa“)//aa是关联的事件名
{
int index = Convert.ToInt32(e.CommandArgument);//获取命令的参数
int iLeagueID = Convert.ToInt32(this.GridView1.DataKeys[index].Value);//获取当前点击列的ID号
Response.Write(“《script》alert(’“ + iLeagueID + “’)《/script》“);
}
}
五:在模板列中非命令字段,《%# Eval(“字段名“).ToString( ).Trim( ) %》
《%# Eval(“PublishDate“, “{0:dd/MM/yyyy}“) %》
或者用Bind 方法支持读/写功能
六:BoundField字段:属性:DataFormatString,可设置显示字段的格式 {0:C}格式为货币类型
      注意,当HtmlCode属性设置为false DataFormatString才有效
七:HyperLinkField字段
DataNaVigateUrlFields 绑定数据库字段,多个就用 , 分隔
DatanaVigateUrlFormatstring 超链接到的页面
DatanaVigateUrlFormatstring=“default.aspx?name={0}&address={1}&city={2}&state={3}“
DataNaVigateUrlFields=“name,address,state,zip“
八:protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
ChangeDate(e);
HighLightCar(e);
GetAvgPrice(e);////////////////////////////
}
private void GetAvgPrice(GridViewRowEventArgs e)
{
//累加当前页中的汽车的价格总和(_PriceSum)
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
string strprice = e.Row.Cells.Text;//带有RMB字符串,如:RMB50.47
strprice = strprice.Substring(strprice.LastIndexOf(“》“) + 1);
double price = double.Parse(strprice);
_PriceSum += price;
}
}
//根据_PriceSum计算平均价格,并在页脚显示
if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells.Text = “《font color=red》RMB《/font》“+(_PriceSum / GridView1.PageSize).ToString();
e.Row.Cells.HorizontalAlign = HorizontalAlign.Right;
}
}
1 GridView的数据源DataTabel或者是AccessDataSource控件
2 控件的AutoGenerateColumns属性如果是True,则自动绑定数据源
3 重点是GridView控件的《Columns》属性的设置
《1》主键列的隐藏和取值
a:在GridView的属性中设置DataKeyNames=“ID字段的名称“,在《Columns》中不出现ID列
《2》主键列的取值
GridViewEntity.DataKeys[RowIndex][“ColumsName“]
或者
GridViewEntity.Rows[RowIndex].Cell[Index].Text
或者
GridView1.DataKeys[e.Row.RowIndex].Value.ToString();
或者
int index = Convert.ToInt32(e.CommandArgument);
// Retrieve the row that contains the button clicked
// by the user from the Rows collection.
GridViewRow row = CustomersGridView.Rows[index];
item.Text = Server.HtmlDecode(row.Cells.Text);
《2》添加序号
《asp:TemplateField HeaderText=“序号“》
《ItemTemplate》
《%#this.ctrlPager.CurrentPageIndex * this.ctrlPager.PageSize + Container.DataItemIndex + 1%》
《/ItemTemplate》
《/asp:TemplateField》
希望对你有帮助!
-gridview控件使用详解

ASP.NET中GridView控件详细使用方法


举个实例吧!
《asp:HyperLinkColumn DataNavigateUrlField=“NewsID“ DataNavigateUrlFormatString=“ShowTnews.aspx?NewsID={0}“ Target =“_blank“ DataTextField=“NewsTitle1“ 》《/asp:HyperLinkColumn》
DataNavigateUrlField:如你所见他绑定了一个NewsID,给后面的DataNavigateUrlFormatString中的{0}赋值,所以后面的一句话意思就是DataNavigateUrlFormatString==“ShowTnews.aspx?NewsID=NewsID“ 不过这里不能直接这么写,所以用以上的方式绑定变量。
这个两个是跳转地址的绑定,后面两个是绑定显示的数据的,原理同样, DataTextFieldString是格式化显示的内容用的,你可以在后台写一个格式化的方法绑定到这里。
-rid

gridview控件如何显示图片!


案例如下:
说明(在控件GridView右上角鼠标点击一下,进入编辑列中,然后添加一个:ImageField
,再讲属性设为你绑定表中图片路径)

Gridview里面的属性有哪些 都有什么用


Gridview 是C#用户界面表格控件
具体属性如下:

可查看msdn详细介绍

具体属性如下:

  1. AllowsColumnReorder :获取或设置一个值,该值指示 GridView 中的列是否可以通过拖放操作重新排序。

  2. ColumnHeaderContainerStyle:获取或设置应用于列标题的样式。

  3. ColumnHeaderContextMenu:获取或设置 GridView 的 ContextMenu。

  4. ColumnHeaderStringFormat:获取或设置一个撰写字符串,该字符串指定如果 GridView 的列标题显示为字符串,应如何设置这些列标题的格式。

  5. ColumnHeaderTemplate:获取或设置用于显示列标题的模板。

  6. ColumnHeaderTemplateSelector:获取或设置为选择每个列标题所使用的模板提供逻辑的选择器对象。

  7. ColumnHeaderToolTip:获取或设置当鼠标指针悬停在某个列标题上时显示的工具提示的内容。

  8. Columns:获取为此 GridView 定义的 GridViewColumn 对象的集合。

  9. DefaultStyleKey:获取 GridView 的默认样式的引用。(替代 ViewBase.DefaultStyleKey。)

  10. DependencyObjectType:获取对此实例的 CLR 类型进行包装的 DependencyObjectType。 (从 DependencyObject 继承。)

  11. Dispatcher :获取与此 DispatcherObject 关联的 Dispatcher。(从 DispatcherObject 继承。)

  12. GridViewItemContainerStyleKey:获取一个键,该键引用为 GridView 中的每个 ListViewItem 定义的样式。

  13. GridViewScrollViewerStyleKey:获取一个键,该键引用为 ScrollViewer 控件(该控件包含 GridView 显示的内容)定义的样式。

  14. GridViewStyleKey:获取一个键,该键引用为 GridView 定义的样式。

  15. IsSealed:获取一个指示此实例当前是否已密封 (只读)的值。 (从 DependencyObject 继承。)

  16. ItemContainerDefaultStyleKey:获取对 GridView 中数据项的容器的默认样式的引用。(替代 ViewBase.ItemContainerDefaultStyleKey。)-gridview控件使用详解