国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 消息框

2024-07-10 13:06:36
字體:
供稿:網(wǎng)友

datagrid的功能我想大家是知道的,我在實(shí)際的應(yīng)用中遇到如下的問題,客戶要求在刪除之前做一次提示。類 似于windows。首先我們都知道datagrid支持刪除的功能,我們可以向datagrid里面添加刪除列就可以實(shí)現(xiàn).

 

給datagrid添加確定刪除的功能
datagrid的功能我想大家是知道的,我在實(shí)際的應(yīng)用中遇到如下的問題,客戶要求在刪除之前做一次提示。類

似于windows。首先我們都知道datagrid支持刪除的功能,我們可以向datagrid里面添加刪除列就可以實(shí)現(xiàn),

下面我想用模板列來實(shí)現(xiàn)帶提示的刪除按鈕。我們用northwind的示例數(shù)據(jù)庫作為例子數(shù)據(jù)庫操縱categories表。

datagrid的html頁的內(nèi)容如下:
<asp:datagrid id="grdtest"

runat="server">
    <columns>
     <asp:templatecolumn>
      <itemtemplate>
       <asp:button id="btndelete"

runat="server" text="button" commandname="delete"></asp:button>
      </itemtemplate>
     </asp:templatecolumn>
    </columns>
   </asp:datagrid>
我們只添加了一個(gè)模板列,其他的列都是在運(yùn)行的時(shí)候自動(dòng)生成的。
可以看出這個(gè)模板列很像刪除列但是又不是刪除列,我們給一個(gè)普通的button添加了一個(gè)commandname

="delete"的屬性。這是用來響應(yīng)datagrid的itemcommand事件的!在刪除列里面就是這樣的!

接下來就是后臺(tái)代碼了,代碼如下所示:
private dataset ds = new dataset();
private void page_load(object sender, system.eventargs e)
  {
   // 在此處放置用戶代碼以初始化頁面
   if(!this.ispostback){
    string strconnection = configurationsettings.appsettings

["sa"].tostring();
    sqlconnection myconnection = new sqlconnection(strconnection);
    sqldataadapter myadapter = new sqldataadapter("select

categoryid,categoryname, description from categories",myconnection);
    myadapter.fill(ds);
    this.grdtest.datasource = ds.tables[0].defaultview;
    this.grdtest.datakeyfield = "categoryid";
    this.grdtest.databind();
   }
  }

接下來我們給模板列里面的每一個(gè)按鈕都添加一個(gè)客戶端的onclick事件。我想大家都應(yīng)改知道attributes屬

性吧!可以通過他向客戶端輸出客戶端控件的屬性比如:長(zhǎng)度、顏色等等。但是通常情況我們使用它添加客戶

端事件。知道javascript的朋友肯定知道confirm了!它會(huì)彈出一個(gè)確認(rèn)對(duì)話框如果確定才提交form否則就不

提交,所以使用這個(gè)也是很自然的了。
private void grdtest_itemdatabound(object sender,

system.web.ui.webcontrols.datagriditemeventargs e) {
   switch(e.item.itemtype){
    case listitemtype.item:
    case listitemtype.alternatingitem:
    case listitemtype.edititem:{
     button btn = (button)e.item.findcontrol("btndelete");
     btn.attributes.add("onclick", "return confirm('你是否

確定刪除這條記錄');");
     break;
    }
   }
  }
添加好這個(gè)事件里以后我們還需要添加如下的代碼才能完成我們的工作:
private void grdtest_itemcommand(object source,

system.web.ui.webcontrols.datagridcommandeventargs e) {
   if(e.commandname == "delete"){
    this.deleterow(this.grdtest.datakeys[e.item.itemindex].tostring

());
   }
  }
上面的事件就是我們點(diǎn)擊datagrid里面的控件的時(shí)候激發(fā)的事件,我們可以通過commandname篩選出來我們想

要激發(fā)的方法deleterow(),一下就是這個(gè)方法的代碼:
private void deleterow(string i){
   string strconnection = configurationsettings.appsettings["sa"].tostring

();
   sqlconnection myconnection = new sqlconnection(strconnection);
   sqlcommand cmd = new sqlcommand("delete from categories where

(categoryid = "+i+")",myconnection);
   myconnection.open();
   cmd.executenonquery();
   myconnection.close();
  }
上面的函數(shù)接收一個(gè)參數(shù),此參數(shù)是當(dāng)前選中行的關(guān)鍵字。
有錯(cuò)誤的地方請(qǐng)多多指教。e_mail:[email protected]


 

注冊(cè)會(huì)員,創(chuàng)建你的web開發(fā)資料庫,
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 周口市| 十堰市| 中牟县| 大化| 沛县| 抚宁县| 北辰区| 绥阳县| 罗定市| 吴忠市| 古交市| 宣化县| 平果县| 多伦县| 垦利县| 泌阳县| 孟州市| 句容市| 乌鲁木齐县| 汝南县| 二连浩特市| 罗源县| 静宁县| 肇州县| 江西省| 建德市| 宽城| 获嘉县| 天水市| 泗水县| 嫩江县| 泽库县| 溆浦县| 西乌珠穆沁旗| 山西省| 青龙| 溆浦县| 监利县| 通州市| 石阡县| 贵定县|