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 以四位数字格式显示年份。
2.传递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;
}
}
}
}