谈谈对GridView控件DataKeyName属性的一点认识
2007-12-16 18:30
239 查看
注意:此属性在 .NET Framework 2.0 版中是新增的。
页面前台有以下代码:
<asp:GridView ID="View1" Width="100%" runat="server" AutoGenerateColumns="False" CellPadding="3" OnRowDataBound="View1_RowDataBound" CssClass="GbText" DataKeyNames="SubjectID,Mode" CellSpacing="1">
后台有以下代码:
protected void View1_RowDataBound(object sender,GridViewRowEventArgs e)
{
if(View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString().ToLower() == "false")
{
......
}
}
说明:
由于为GridView控件的DataKeyNames属性设置了表的两个字段(SubjectID,Mode),因此可以在为GridView绑定数据时对库表的每个记录的指定字段值作出判断。后台代码中的e.Row.RowIndex即表示GridView的当前行(对应于库表的当前记录);而View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString()则获取当前行指定字段(Mode)的值。若前台代码只写:DataKeyNames="SubjectID'(即DataKeyNames属性只填入一个字段名),则后台只需写成: View1.DataKeys[e.Row.RowIndex].Value.ToString()) 即可。
同样的,要动态获取当前行另一个字段的值可以这样写: View.DataKeys[e.Row.RowIndex].Values["SubjectID"].ToString())。
总之,为GridView的DataKeyNames属性设置库表字段名的主要目的还是为了在为GridView控件绑定数据时获取当前行指定字段的值,以便作相应处理。若无此需求的话则GridView的DataKeyNames属性就可以不设置。
表的设计有如下特点为好:
1. 表名尽量与所存储的内容挂钩,即体现内容的主题
2. 头一个字段定为自增型主键,字段名为:表名+ID,例如,对于Category表而言,头一个字段名即为:'CategoryID'
3. 表的外键(无论几个)一般都放在该表字段列表的末尾,可在外键字段下方的'描述'一栏中填写相关信息,如:"FK(外键) 引用xxxx表的xxxxID"
4. 除了主键之外,其余字段全部均"允许空"(打勾)
5. 若字段名称属于SQL Server系统的关键字或含空格,则需用中括号括起来,例如:[Upper]、[Lower]、[First Name]
页面前台有以下代码:
<asp:GridView ID="View1" Width="100%" runat="server" AutoGenerateColumns="False" CellPadding="3" OnRowDataBound="View1_RowDataBound" CssClass="GbText" DataKeyNames="SubjectID,Mode" CellSpacing="1">
后台有以下代码:
protected void View1_RowDataBound(object sender,GridViewRowEventArgs e)
{
if(View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString().ToLower() == "false")
{
......
}
}
说明:
由于为GridView控件的DataKeyNames属性设置了表的两个字段(SubjectID,Mode),因此可以在为GridView绑定数据时对库表的每个记录的指定字段值作出判断。后台代码中的e.Row.RowIndex即表示GridView的当前行(对应于库表的当前记录);而View1.DataKeys[e.Row.RowIndex].Values["Mode"].ToString()则获取当前行指定字段(Mode)的值。若前台代码只写:DataKeyNames="SubjectID'(即DataKeyNames属性只填入一个字段名),则后台只需写成: View1.DataKeys[e.Row.RowIndex].Value.ToString()) 即可。
同样的,要动态获取当前行另一个字段的值可以这样写: View.DataKeys[e.Row.RowIndex].Values["SubjectID"].ToString())。
总之,为GridView的DataKeyNames属性设置库表字段名的主要目的还是为了在为GridView控件绑定数据时获取当前行指定字段的值,以便作相应处理。若无此需求的话则GridView的DataKeyNames属性就可以不设置。
表的设计有如下特点为好:
1. 表名尽量与所存储的内容挂钩,即体现内容的主题
2. 头一个字段定为自增型主键,字段名为:表名+ID,例如,对于Category表而言,头一个字段名即为:'CategoryID'
3. 表的外键(无论几个)一般都放在该表字段列表的末尾,可在外键字段下方的'描述'一栏中填写相关信息,如:"FK(外键) 引用xxxx表的xxxxID"
4. 除了主键之外,其余字段全部均"允许空"(打勾)
5. 若字段名称属于SQL Server系统的关键字或含空格,则需用中括号括起来,例如:[Upper]、[Lower]、[First Name]
相关文章推荐
- asp.net 对GridView控件DataKeyName属性的一点认识
- 谈谈我对资本主义和社会主义的一点认识
- 谈谈我对广告投放系统的一点认识
- 谈谈我对资本主义和社会主义的一点认识
- 扩展GridView控件(3) - 根据按钮的CommandName设置其客户端属性
- 谈谈rainbowtable一点个人认识
- 谈谈我对广告投放系统的一点认识
- 控件gridview的属性全集
- 谈谈我对资本主义和社会主义的一点认识
- gridview控件中OnRowDataBound属性作用
- 页面载入时通过获取GridView某行某列的值来控制某一列的控件属性
- httpwebrequest的referer属性的一点认识
- 谈谈我对资本主义和社会主义的一点认识
- 页面加载时通过获取GridView某行某列的值来控制某一列的控件属性
- 控件gridview的属性全集
- 关于Asp.Net 使用Ajax控件一点认识
- aspxgridview 控件属性及功能
- HttpRequest的QueryString属性 的一点认识
- HttpRequest的QueryString属性 的一点认识
- 扩展GridView控件(3) - 根据按钮的CommandName设置其客户端属性