ASP.NET中GridView使用简单攻略

http://blog.163.com/long_530576160/blog/static/5191554420115955050499/

数据查询与展示GridView

GridView连接数据源
编码指定数据源
this.GridView1.DataSource = 返回值为集合的方法;
this.GridView1.DataBind();
以下为使用数据源控件
数据源控件

控件名
说明

SqlDataSource
用来从SQL Server、ODBC、Oracle等数据源中检索数据。通过连接字符串指定。

AccessDataSource
继承自SqlDataSource,专门用于从Access数据库中检索数据

ObjectDataSource
能够将来自业务逻辑层的数据对象与表示层中的数据绑定控件绑定,实现数据的显示、编辑等任务

XmlDataSource
用于检索和处理XML等分层数据。它可以从文件、URL或者也包含XML内容的字符串中加载XML数据

SiteMapDataSource
专门处理类似站点地图的XML数据。默认情况下,数据源好似以.sitemap为扩展名的XML文件

常见数据绑定控件

控件名称
说明

GridView
通过表格方式实现数据的展示,并集成编辑、分页、排序等功能。

DetailsView
显示单条记录的详细信息,并支持对记录的添加、删除、修改等。

DropDownList
下拉菜单控件

数据绑定控件绑定数据源语法
数据绑定控件ID.DataSourceID = 数据源控件ID;

绑定字段

BoundField
用于显示普通文本,是默认的数据绑定列的类型,一般自动生成的列就是该类型

GridView查询所有信息
步骤:1、添加GridView控件(数据)——配置好显示列
2、在GridView 任务选择数据源下拉框中选择新建数据源——在数据源配置向导的选择数据源类型中选择对象——单击确定
3、在选择业务对象下拉框中选择需要的业务逻辑层方法——单击下一步——在定义数据方法中选择SELECT——在选择方法下拉框中选择所需要的方法
GridView中添加新列(添加外键列)
步骤:1、在GridView 任务——单击添加新列——在添加字段的选择字段类型下拉框中选择TemplateField——并添加页眉文本——单击确定
2、在GridView 任务——单击编辑模板——在GridView 任务模板编辑模式的显示下拉框中选择刚才添加的新列——在ItemTemplate中添加一个Lable控件——在Lable任务中——单

击编辑DataBindings——在Lable DateBindings对话框中为Text绑定数据——首先选中字段绑定——在字段绑定下拉框中选择需要的字段——然后在选择自定义绑定进行代码表达

式修改对要显示的外键字段对象进行修改来显示
相应的属性——单击确定——在GridView 任务——单击结束模板编辑

DropDownList控件绑定数据源连接GridView控件根据条件显示
步骤:1、添加DropDownList控件(标准)——在DropDownList任务——单击选择数据源——在选择数据源下拉框中选择新建数据源——在数据源配置向导的选择数据源类型中选择

对象——单击确定
2、在选择业务对象下拉框中选择需要的业务逻辑层方法——单击下一步——在定义数据方法中选择SELECT——在选择方法下拉框中选择所需要的方法
3、在 选择要 DropDownList 中显示的数据字段下拉框中选择所需的字段
4、在 为DropDownList 的值选择数据字段下拉框中选择所需的字段(一般选择ID字段)
5、将DropDownList控件AutoPostBalck改为true
6、添加GridView控件(数据)——配置好显示列
7、在GridView 任务选择数据源下拉框中选择新建数据源——在数据源配置向导的选择数据源类型中选择对象——单击确定
8、在选择业务对象下拉框中选择需要的业务逻辑层方法——单击下一步——在定义数据方法中选择SELECT——在选择方法下拉框中选择所需要的代参方法——单击下一步
9、在定义参数对话框中的参数源下拉框中选择Control——在ControlID下拉框中选择DropDownList控件名——在DefaultValue文本框中
可以给定DropDownList控件所选中的默认值(也可以不写)——单击完成

在后置代码中获得选中的值DropDownList.SelectedValue.ToString();

DropDownList 的常用属性和事件

属性或事件
说明

SelectedItem 属性
设置获取下拉菜单的选中项,该属性的类型为System.Web.UI.WebControls.ListItem,所有列表控件(ListControl)中的项都是该类型。他常用的两个属性是Text和Value。

Value用于设置获取项的值;Text用于设置获取显示文本

SelectValue 属性
获取选择项的值,与SelectedItem.Value一致

DataTextField 属性
获取或设置提供列表项文本内容的数据源的字段

DataValueField 属性
获取设置提供列表项值内容的数据源的字段

AutoPostBack 属性
当选中一个列表项时,DropDownList 控件状态是否回发到服务器。默认情况下时false

SelectIndexChanged 事件
当列表控件选定的内容改变并发回服务器时发生。该事件仅当 AutoPostBack 属性设置为true是有效

//手动绑定DropDownList
this.ddlType.DataSource = RoomTypeManager.GetAllRoomTypes();
this.ddlType.DataTextField = "TypeName"; 
this.ddlType.DataValueField = "TypeId";
ddlType.DataBind();

//向DropDownList添加第一项
ListItem list = new ListItem();
list.Text = "--选择--";
list.Value = "0";
ddlType.Items.Insert(0, list);

GridView 删除
步骤:1、先查询所有信息并显示在GridView中
2、在 ObjectDataSource 任务——单击配置数据源——单击下一步——在定义数据方法中选择DELETE(不用设置ID因为ID是由DataKeyNames设置的)——在选择方法下拉框中选择所

需要的代参方法——单击完成
3、在 GridView 属性中——DataKeyNames属性——单击——在数据字段集合编辑器中——在可用数据字段——选择ID——单击确定
4、在GridView 任务——将启用删除勾上
5、加删除页眉——在GridView 任务——单击编辑列——在选定字段中选定删除——在属性窗口中修改HeaderText属性——单击确定

GridView实现全选
步骤
1、在GridView 任务——选择添加新列——在添加字段的选择字段类型下拉框中选择TemplateField——并添加页眉文本——单击确定
2、在GridView 任务——单击编辑模板——在GridView 任务模板编辑模式的显示下拉框中选择刚才添加的新列——在HeaderTemplate中添加一个HTML中的CheckBox并添加相应的文

字描述——在ItemTemplate中添加标准中的CheckBox——在GridView 任务——单击结束模板编辑
3、在aspx源码中编写JavaScript脚本,如下:

<script type="text/javascript" language="javascript">
function GetAllCheckBox(CheckAll)
{  
    var items = document.getElementsByTagName("input");
    for(var i=0;i<items.length;i++)
    {
        if(items[i].type == "checkbox")
        {
        items[i].checked = CheckAll.checked;
        }    }   }
</script>

4、调用方法

<asp:TemplateField HeaderText="全选">
    <HeaderTemplate>
        <input id="cbAll" type="checkbox" onclick="GetAllCheckBox(this)"/>全选
    </HeaderTemplate>
    <ItemTemplate>
        <asp:CheckBox ID="chkSelect" runat="server" />
    </ItemTemplate>
</asp:TemplateField>

5、在后置代码中获得多选项的ID
for (int i = 0; i < this.GridView1.Rows.Count; i++) //this.GridView1.Rows.Count获得本页GridView控件上所有行数
{
//获得GridView每一行中的控件名为checkselect的控件,也就是说获得的是GridView每一行中的CheckBox控件
CheckBox cb = (GridView1.Rows[i].FindControl(“checkselect”)) as CheckBox;
if (cb.Checked == true) //判断是否选中
{

//获得选中行的第一列值(一般将第一列绑定为ID列),这样就可以根据此处的Id进行删改了
Convert.ToInt32(GridView1.Rows[i].Cells[0].Text.ToString());
} }
实现光棒
执行的事件是GridView的RowDataBound事件
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) {
e.Row.Attributes.Add(“onmouseover”,”currentcolor=this.style.backgroundColor;this.style.backgroundColor=’#6699ff’”);
e.Row.Attributes.Add(“onmouseout”, “this.style.backgroundColor=currentcolor”);
} }
//根据修改、删除做处理(后置代码中)
protectedvoidGVRoomTypes_RowCommand(objectsender, GridViewCommandEventArgs e)
{
string cmd = e.CommandName;
int typeId = Convert.ToInt32(e.CommandArgument);
if (cmd == “De”) {//删除
RoomTypeManager.DeleteRoomTypeByTypeId(typeId); }
else if (cmd == “Ed”) { //修改
Page.Server.Transfer(“EditRoomType.aspx?typeId=” + typeId);

} }
GridView详细显示
步骤:1、在GridView 任务——选择添加新列——在添加字段的选择字段类型下拉框中选择TemplateField——并添加页眉文本——单击确定
2、在GridView 任务——单击编辑模板——在GridView 任务模板编辑模式的显示下拉框中选择刚才添加的新列——在ItemTemplate中添加标准中的LinkButton——修改其ID属性、

Text属性并设置它的CommandArgument属性(与此按钮相关联的命令参数)和CommandName属性(与此按钮相关的命令)
源码修改

<asp:TemplateField HeaderText="详细">
    <ItemTemplate>
<asp:LinkButton ID="lkbParticular" runat="server" CommandArgument='<%# Eval("Id") %>' CommandName="xiang">详细
    </ItemTemplate>
</asp:TemplateField>

3、在后置代码中编写下列事件(行按钮触发事件)

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 

 {
        if (e.CommandName.Equals("参数")) //判断事件触发行中那个控件(有CommandName属性设置)    {
            int id = Convert.ToInt32(e.CommandArgument); //获得事件触发行的ID
            Response.Redirect("#.aspx?id=" + id); //重定向到其他页面        }    }

4、添加DetailsView控件——在DetailsView 任务——在选择数据源中选择新建数据源——在数据源配置向导的选择数据源类型中选择
对象——单击确定
5、在选择业务对象下拉框中选择需要的业务逻辑层方法——单击下一步——在定义数据方法中选择SELECT——在选择方法下拉框中选择
所需要的代参方法——单击下一步
6、在定义参数对话框中的参数源下拉框中选择QueryString——在QueryStringField文本框中添加所要获得参数(一般获得id)——在
DefaultValue文本框中可以给定默认值(也可以不写)——单击完成
7、美化显示——在DetailsView 任务——单击编辑字段——对字段进行编辑——单击确定
DetailsView 控件的常用属性和事件

属性或事件
说明

DefaultMode 属性
设置获取控件默认的状态(模式)。该属性为枚举值,分为 ReadOnly(显示)、Edit(修改)和Insert(添加)

DataKey 属性
数据主键

DataKeyNames 属性
设置获取一个字符串,该字符串包含数据源中间的组合

ItemInserting 事件
单击添加按钮,执行添加方法之前执行

ItemInserted 事件
单击添加按钮,执行添加方法之后执行

ItemUpdating 事件
单击更新按钮,执行更新方法之前执行

ItemUpdated 事件
单击更新按钮,执行更新方法之后执行

数据绑定的写法Eval和Bind的对比

Eval()
Bind()

Eval是指读的,可实现格式化显示
Bind支持读/写功能,可将跟新后的数据提交回服务器。一般与TextBox等控件使用

在GredView设置方法
1、存储:在GridView的DataKeyNames属性设置ID
获得:在GridView的RowDataBound事件里 int ID = this.GridView1.DataKeys[e.Row.RowIndex].Value;
2、存储:在模板列的项目模板中添加控件设置控件的CommandArgument=’<%# Eval(“Id”) %>’属性
获得:在GridView的RowCommand事件里int id = Convert.ToInt32(e.CommandArgument

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、 基本使用方法 4 1.导入Dll文件 4 2.Asp.Net页面控件注册 4 3. Asp.Net页面控件声明 5 4.删除licenses.licx协议文件(盗版) 5 5.功能概述 5 二、 绑定数据(单层) 5 1.使用DataSource属性绑定DataTable 5 2.使用DataSourceID属性绑定SqlDataSource 6 3.使用DataSourceID属性绑定ObjectDataSource 6 4.使用DataSourceID属性绑定LinqDataSource 9 5.使用DataSourceID属性绑定XmlDataSource 10 三、 绑定数据(嵌套树) 10 1.主从数据绑定 10 四、 客户端行维护(新增、修改、删除等) 12 1.编辑状态 12 2.新增 13 3.修改 13 4.删除 13 五、 服务器端行维护(新增、修改、删除等) 13 1.编辑状态 13 2.新增 13 3.修改 15 4.删除 16 六、 数据保存 17 七、 客户端行选择 17 1.选择页面上所有行 17 2.选指定行或所有行 18 3.获取选行 18 4.取消页面上所有行的选择 19 5.取消指定行或所有行的选择 19 八、 服务器端行选择 19 1.可选择性设置 19 2.Selection属性 19 九、 客户端行定位 20 1.将焦点转移到编辑行的指定列 20 2.获取焦点行号 20 3.将某行置为可见(未验证) 20 4.跳转到指定页 20 十、 服务器端行定位 21 1.焦点行 21 2.将某行置为可见 21 3.跳转到指定页 21 十一、 客户端数据搜索 21 1.数据过滤 21 十二、 服务端数据搜索 22 1.数据过滤 22 2.数据搜索 22 十三、 分页 23 1.分页条相关属性 23 2.更改分页条按钮属性 26 3.与分页相关操作 26 十四、 客户端排序 26 1.使用SortBy方法排序 26 十五、 服务器端排序 27 1.排序设置 27 2.使用SortBy方法排序 27 3.直接操作GridViewDataColumn排序 28 4.使用GetSortedColumns方法取排序栏位 28 十六、 服务器端数据分组 28 1.数据分组的前提条件 28 2.使用GroupBy方法实现数据分组 28 3.分组的展开与折叠 29 4.判断分组行是否展开 29 5.数据分组的相关设置 29 6.按分组值排序 30 十七、 客户端数据分组 30 1.使用GroupBy方法实现数据分组 30 2.分组的展开与折叠 30 3.判断分组行是否展开 31 4.判断是分组行还是数据行 31 5.用户拖动栏位到分组带实现分组 31 十八、 数据导出 31 1.内置数据导出的前提条件 31 2.支持的数据导出类型 32 3. ASPxGridViewExporter重要属性 32 4.主从ASPxGridView数据导出 32 5.导出到Pdf时文乱码问题的解决 33 十九、 报表打印 33 二十、 懒加载 33 二十一、 客户端栏位取值与赋值 33 1.使用GetPageRowValues取当前页指定栏位值 33 2.使用GetRowValues取指定行指定栏位值 34 3.使用GetSelectedFieldValues取选行指定栏位值 34 4.取栏位实例 34 5.使用GetColumnsCount取栏位总数 34 6.使用MoveColumn隐藏和移动栏位 34 7. 使用GetRowKey取行主键值 35 二十二、 服务器端栏位取值与赋值 35 1.取行值 35 2.取列值 36 二十三、 栏位编辑风格 38 1.AspxGridView栏位类型 38 2.GridViewColumn服务器端重要属性 38 3.GridViewColumn服务器端方法 40 4.GridViewCommandColumn:命令按钮列 41 5. GridViewDataColumn:基本数据列 42 6.GridViewDataButtonEditColumn:编辑按钮列 45 7.GridViewDataCheckColumn: 复选框列 45 8.GridViewDataTextColumn:文本列 45 二十四、 栏位格式化 45 二十五、 固定列 45 二十六、 栏位拖动 45 二十七、 栏位合计 46 二十八、 栏位初始值 46 二十九、 栏位可编辑性 46 三十、 栏位数据校验 46 1.行数据校验(编辑状态) 46 三十一、 客户端事件 49 三十二、 服务器端事件 49 1.服务器事件索引 49 2.AutoFilterCellEditorCreate 49 3.AutoFilterCellEditorInitialize 50 4.BeforeGetCallbackResult 50 5.BeforePerformDataSelect 51 6.CancelRowEditing 51 7. CellEditorInitialize 51 7. ClientLayout 52 8. CustomButtonCallback 52 9. CustomCallback 53 10. CustomColumnDisplayText 54 11. CustomColumnGroup 54 12. CustomColumnSort 55 13. CustomDataCallback 56 14. CustomErrorText 57 15. CustomGroupDisplayText 57 16. CustomJSProperties 58 17. CustomSummaryCalculate 58 三十三、 快捷键 59 三十四、 样式 59 1.GridViewStyles重要属性 59 2. GridViewAlternatingRowStyle重要属性 59 三十五、 AspxGridView服务器端重要属性 60 三十六、 AspxGridView服务器端重要方法 60 三十七、 GridViewColumnCollection服务器端重要属性 61 三十八、 AspxGridView客户端重要属性 61 三十九、 AspxGridView客户端常用方法 64 1.PerformCallback 77 四十、 AspxGridView客户端非常用方法 78 四十一、 ASPxClientGridViewColumn(客户端栏位)常用属性 79 四十二、 嵌套AspxGridView的特殊控制 80 1.控制在同一时间只允许一行展开 80 2.SettingsDetail属性设置 80 3.嵌套AspxGridView树展开与折叠(客户端) 80 四十三、 AspxGridView客户端源代码可借鉴点 81 四十四、 AspxGridView服务器端源代码可借鉴点 81

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值