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

首頁 > 開發(fā) > 綜合 > 正文

DataGrid使用技巧(一)-------如何屏蔽單元格輸入

2024-07-21 02:22:42
字體:
來源:轉載
供稿:網友
有時候聽有些朋友抱怨.net的datagrid不是很好用。就我個人的體會,datagrid的功能非常強大,可以使我們隨心所欲的完成各種各樣的工作,可惜就是實現起來不夠簡單明了。我對平時經常碰到的一些問題積累了一些解決的方法,現在把它們總結一下供大家參考。        比較經常碰到的一個問題是:我們希望datagrid的某一列只能輸入特定的文本,比如:不能輸入數字。下面的例子說明如何實現這種功能。
       新建一個window應用程序,加入一個datagrid和sqlconnection,連接sql數據庫northwind。
namespace windowsapplication1
{
public class form1 : system.windows.forms.form
{
          private mydatagrid datagrid1;
          private system.data.sqlclient.sqlconnection sqlconnection1;
           //加入全局變量oldvalue,用它表示單元格原來的文本。
          private string oldvalue;
          private void form1_load(object sender, system.eventargs e)
        {
        oldvalue="";
        sqldataadapter sda=new sqldataadapter("select lastname,firstname from employees",this.sqlconnection1);
        dataset ds=new dataset();
        sda.fill(ds,"employees");
        datagridtablestyle ats=new datagridtablestyle();
        ats.mappingname="employees";
        datagridcolorcolumn dcs1=new datagridcolorcolumn();
        dcs1.headertext="lastname";
        ats.gridcolumnstyles.add(dcs1);
        datagridtextboxcolumn dcs2=new datagridtextboxcolumn();
        dcs2.headertext="firstname";
        dcs2.mappingname="firstname";
        dcs2.textbox.textchanged+=new eventhandler(datagridtextchanged);
        dcs2.textbox.enter+=new eventhandler(datagridtextbox_enter);
        ats.gridcolumnstyles.add(dcs2);
        this.datagrid1.tablestyles.add(ats);
        this.datagrid1.datasource=ds;
        this.datagrid1.datamember="employees";  
        }
               private void datagridtextbox_enter(object sender,eventargs e)
       {
          //當某一單元格獲得焦點時,記錄單元格的文本
         oldvalue=((datagridtextboxcolumn) this.datagrid1.tablestyles[0].gridcolumnstyles[1]).textbox.text;
       }
              private void datagridtextchanged(object sender,eventargs e)
      {
           int index=0;
           string str=((datagridtextboxcolumn)this.datagrid1.tablestyles[0].gridcolumnstyles[1]).textbox.text;
           //當單元格的文本改變時,檢驗是否有非法字符
            while(index<str.length)
           {
           //如果發(fā)現數字,顯示錯誤信息并將單元格還原為原內容
           if (char.isdigit(str,index))
           {
&nbsp;           messagebox.show("不能輸入數字,請重新輸入");
            ((datagridtextboxcolumn)this.datagrid1.tablestyles[0].gridcolumnstyles[1]).textbox.text=oldvalue;
            return;
            }
             index++;
        }
}
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 建平县| 台江县| 文水县| 威宁| 馆陶县| 抚远县| 海阳市| 全州县| 屯留县| 孝义市| 新泰市| 马尔康县| 平顺县| 安平县| 寿宁县| 灵璧县| 衢州市| 无棣县| 永安市| 攀枝花市| 年辖:市辖区| 清水县| 密云县| 贵州省| 景东| 开化县| 兴国县| 肃南| 五寨县| 承德县| 壤塘县| 壤塘县| 三都| 婺源县| 博罗县| 东兰县| 廉江市| 米林县| 东方市| 虎林市| 新宾|