如何控制datagrid里编辑功能出现的TextBox的宽度,传递DataGrid中的值,如何用程序隐藏和显示DataGrid中的一列。

来源:互联网 发布:win10服务优化批处理 编辑:程序博客网 时间:2024/05/17 05:04
10个DataGrid常用的使用技巧
2007年05月26日 星期六 00:26
【摘 要】 如何控制datagrid里编辑功能出现的TextBox的宽度,传递DataGrid中的值,如何用程序隐藏和显示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   以四位数字格式显示年份。

DataGrid常用的使用技巧

2.传递DataGrid中的值

DataGrid常用的使用技巧

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;
           }
         }
       }
     }
 
原创粉丝点击