gridview控件

时间:2024-09-29 17:11:44编辑:分享君

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[0].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[0].Text.ToString().Trim(); //获得该行第1列的数据项



四:在中的命令按钮只能在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("alert('" + iLeagueID + "')");
}
}



五:在模板列中非命令字段,

或者用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[4].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[4].Text = "RMB"+(_PriceSum / GridView1.PageSize).ToString();
e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Right;
}
}











1 GridView的数据源DataTabel或者是AccessDataSource控件
2 控件的AutoGenerateColumns属性如果是True,则自动绑定数据源
3 重点是GridView控件的属性的设置
主键列的隐藏和取值
a:在GridView的属性中设置DataKeyNames="ID字段的名称",在中不出现ID列
主键列的取值
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[2].Text);
添加序号





希望对你有帮助!


FormView与GridView控件之间最重要的区别是

GridView用来显示多条记录,FORMVIEW显示单条记录的详细信息,换句话说就是显示一条记录。
以下摘自互联网的一段文字介绍,若要具体可以网上搜索。
具体而言,利用GridVidew控件显示多条记录的主要信息,DetailsView控件或FormView控件则显示GridView控件中被选定记
录的详细信息。在功能方面上,DetailsView控件与FormView控件相似:两者每次都只显示一条记录的信息;但在页面布局方面却不一样:前者
以类似表格中的行方式每行显示一个字段内容,界面单调,布局缺乏灵活性;而后者则有更大的灵活性,设计人员在系统提供的模板中根据自己的意愿布局要显示的
字段内容,容易得到界面美观、格式变化有序的页面,因而更受用户的欢迎。本文研究的就是利用GridView与FormView控件配合如何完成主-详细
视图的设计。


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

Gridview 是C#用户界面表格控件具体属性如下:可查看msdn详细介绍具体属性如下:AllowsColumnReorder :获取或设置一个值,该值指示 GridView 中的列是否可以通过拖放操作重新排序。ColumnHeaderContainerStyle:获取或设置应用于列标题的样式。ColumnHeaderContextMenu:获取或设置 GridView 的 ContextMenu。ColumnHeaderStringFormat:获取或设置一个撰写字符串,该字符串指定如果 GridView 的列标题显示为字符串,应如何设置这些列标题的格式。ColumnHeaderTemplate:获取或设置用于显示列标题的模板。ColumnHeaderTemplateSelector:获取或设置为选择每个列标题所使用的模板提供逻辑的选择器对象。ColumnHeaderToolTip:获取或设置当鼠标指针悬停在某个列标题上时显示的工具提示的内容。Columns:获取为此 GridView 定义的 GridViewColumn 对象的集合。DefaultStyleKey:获取 GridView 的默认样式的引用。(替代 ViewBase.DefaultStyleKey。)DependencyObjectType:获取对此实例的 CLR 类型进行包装的 DependencyObjectType。 (从 DependencyObject 继承。)Dispatcher :获取与此 DispatcherObject 关联的 Dispatcher。(从 DispatcherObject 继承。)GridViewItemContainerStyleKey:获取一个键,该键引用为 GridView 中的每个 ListViewItem 定义的样式。GridViewScrollViewerStyleKey:获取一个键,该键引用为 ScrollViewer 控件(该控件包含 GridView 显示的内容)定义的样式。GridViewStyleKey:获取一个键,该键引用为 GridView 定义的样式。IsSealed:获取一个指示此实例当前是否已密封 (只读)的值。 (从 DependencyObject 继承。)ItemContainerDefaultStyleKey:获取对 GridView 中数据项的容器的默认样式的引用。(替代 ViewBase.ItemContainerDefaultStyleKey。)

上一篇:322路

下一篇:没有了