本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2004-12-09 · 原址 http://bbs.flash8.net/forums/1794600/ShowPost.aspx ← Flash 保存计划
欢迎光临 闪吧论坛 登录 | 注册 | FAQ | 搜索
Print Search
帖子排序:    
帖子发起人:xzzhangg   发起时间:2006-01-15 09:34 上午   回复:2
xzzhangg 离线,最后访问时间:2006-2-23 19:43:51 xzzhangg

等级:Flash 2

等级:FLASH 2
注册:2005-03-25
发贴:242
积分:21
访问我的Blog
2006-01-15, 09:34 上午   IP 地址:已记录  报告  收藏  楼主
DataGrid常用的使用技巧

  • 根据微软的教程再学一下

    1.日期的显示
    2.传递DataGrid中的值
    3.在DataGrid里添加确认删除的对话框
    4.格式化DataGrid :将数据原中的0,1值转换成实际的文字
    5.在DataGrid中选择,确认,删除多行复选框列表
    6.利用dropdownlist下拉列表框,显示数据库表中的某个字段
    7.取得Datagrid里的checkbox返回值
    8.datagrid中加入统计值
    9.如何用程序隐藏和显示DataGrid中的一列
    10如何控制datagrid里编辑功能出现的TextBox的宽度?

    1.
    d  将日显示为不带前导零的数字(如 1)。
    dd  将日显示为带前导零的数字(如 01)。
    ddd  将日显示为缩写形式(例如 Sun)。
    dddd  将日显示为全名(例如 Sunday)。
    M  将月份显示为不带前导零的数字(如一月表示为 1)
    MM  将月份显示为带前导零的数字(例如 01/12/01)。
    MMM  将月份显示为缩写形式(例如 Jan)。
    MMMM  将月份显示为完整月份名(例如 January)。
    h  使用12 小时制将小时显示为不带前导零的数字(例如 1:15:15 PM)。
    hh  使用 12 小时制将小时显示为带前导零的数字(例如 01:15:15 PM)。
    H  使用 24 小时制将小时显示为不带前导零的数字(例如 1:15:15)。
    HH  使用 24 小时制将小时显示为带前导零的数字(例如 01:15:15)。
    m  将分钟显示为不带前导零的数字(例如 12:1:15)。
    mm  将分钟显示为带前导零的数字(例如 12:01:15)。
    s  将秒显示为不带前导零的数字(例如 12:15:5)。
    ss  将秒显示为带前导零的数字(例如 12:15:05)。
    y  将年份 (0-9) 显示为不带前导零的数字。
    yy  以带前导零的两位数字格式显示年份(如果适用)。
    yyy  以三位数字格式显示年份。
    yyyy  以四位数字格式显示年份。

    uploads/200601/14_224013_snap4.jpg


    2.传递DataGrid中的值

    uploads/200601/14_224117_snap5.jpg


    show.aspx后台代码
    private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 Response.Write("您选择的学生ID是:"+Request.QueryString["ID"]); }

    3.在DataGrid里添加确认删除的对话框
    private void dgShow_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { switch(e.Item.ItemType) { case ListItemType.Item: case ListItemType.EditItem: case ListItemType.AlternatingItem: Button myDeleteButton = (Button)e.Item.FindControl("btnDelete"); myDeleteButton.Text = "删除此行"; myDeleteButton.Attributes.Add("onclick", "return confirm('您真的要删除第 " + e.Item.ItemIndex.ToString() + " 行吗?');"); break; } } private void dgShow_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { if(e.CommandName=="UserDelete") dgShow_DeleteCommand(source,e); }

    4.将数据原中的0,1值转换成实际的文字


    5.在DataGrid中选择,确认,删除多行复选框列表
    public void CheckAll(object sender, System.EventArgs e) { CheckBox cbAll = (CheckBox)sender; if(cbAll.Text=="全选") { foreach(DataGridItem dgi in dgShow.Items) { CheckBox cb = (CheckBox)dgi.FindControl("cbSelect"); cb.Checked = cbAll.Checked; } } } private void btnDelete_Click(object sender, System.EventArgs e) { foreach(DataGridItem dgi in dgShow.Items) { CheckBox cb = (CheckBox)dgi.FindControl("cbSelect"); if(cb.Checked) { //以下执行删除操作 int nID = int.Parse(dgi.Cells[0].Text); string strSql = "delete from tbStudentinfo where studentid="+nID; ExecuteSql(strSql); } } dgShow.CurrentPageIndex = 0; BindData(); }

     

    6.利用dropdownlist下拉列表框,显示数据库表中的某个字段

    foreach(DataGridItem dgi in dgShow.Items) { //以下绑定非编辑状态下拉列表 DropDownList ddI = (DropDownList)dgi.FindControl("ddlSexI"); if(ddI!=null) { bool bSex = (bool)ds.Tables["studentinfo"].Rows[dgi.ItemIndex]["Sex"]; if(bSex) ddI.SelectedIndex = 0; else ddI.SelectedIndex = 1; } //以下绑定编辑状态下拉列表 DropDownList ddE = (DropDownList)dgi.FindControl("ddlSexE"); if(ddE!=null) { bool bSex = (bool)ds.Tables["studentinfo"].Rows[dgi.ItemIndex]["Sex"]; if(bSex) ddE.SelectedIndex = 0; else ddE.SelectedIndex = 1; } }

    7.取得Datagrid里的checkbox返回值

    8.datagrid中加入统计值
    int count=0; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { count += int.Parse(ds.Tables[0].Rows[i]["Score"].ToString()); } int nAv = count/ds.Tables[0].Rows.Count; foreach(DataGridItem dgi in dgShow.Controls[0].Controls) { if (dgi.ItemType == ListItemType.Footer) dgi.Cells[6].Text = "平均:"+nAv.ToString(); }

    9.如何用程序隐藏和显示DataGrid中的一列
     
    dgShow.Columns[0].Visible = false;

     


    10.如何控制datagrid里编辑功能出现的TextBox的宽度? 

    private void dgShow_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { if (e.Item.ItemType == ListItemType.EditItem) { for (int i=0;i<e.Item.Cells.Count;i++) { if(e.Item.Cells[i].Controls.Count>0) { TextBox t =(TextBox)e.Item.Cells[i].Controls[0]; t.Width=100; } } } }


    my blog

    >http://www.clingingboy.com/]my blog[/url]

    Leon000 离线,最后访问时间:2006-2-23 17:23:36 Leon000

    等级:Flash 2

    等级:FLASH 2
    注册:2005-04-01
    发贴:102
    积分:5
    2006-01-17, 18:38 下午   IP 地址:已记录  报告  收藏  第2楼
    Re:DataGrid常用的使用技巧

  • 我好像坐到了沙发~~~
    我最近在学flash remoting,网上很多教程,但千篇一律(全转载),偏偏原版里面有错误,而转载的又没有改过来,唉,误人子弟啊
    楼主多发些教程吧,哈哈
    qq:151952789
    欢迎flash交流!
    flyinflash 离线,最后访问时间:2006-2-24 20:28:38 飞舞耀扬

    等级:Flash1

    等级:FLASH1
    注册:2006-01-17
    发贴:5
    积分:0
    2006-02-22, 22:58 下午   IP 地址:已记录  报告  收藏  第3楼
    Re:DataGrid常用的使用技巧

  • 个人认为,原创教程固然重要,但有错教程无罪,转载无罪。

    当你能从别人的所谓“经典”教程中找到错误时,并知道如何修正(这实际上是你的一种能力,必须学会的一种能力),你会偷偷地笑的。
    快速回复帖子

     




    标题: