如何控制datagrid裏編輯功能出現的TextBox的寬度,傳遞DataGrid中的值,如何用程序隱藏和顯示DataGrid中的一列。

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;
           }
         }
       }
     }
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章