vfp下拉列表框的綁定的數(shù)據(jù)源 查詢的兩個(gè)數(shù)據(jù)集怎么綁定到一個(gè)datalist或repater中呢?
查詢的兩個(gè)數(shù)據(jù)集怎么綁定到一個(gè)datalist或repater中呢?在代碼編寫中,數(shù)據(jù)集經(jīng)常被用作控件的數(shù)據(jù)源,通常一個(gè)控件只能綁定到一個(gè)數(shù)據(jù)源。如果要將多個(gè)查詢的結(jié)果綁定到一個(gè)控件,則必須將多個(gè)查詢
查詢的兩個(gè)數(shù)據(jù)集怎么綁定到一個(gè)datalist或repater中呢?
在代碼編寫中,數(shù)據(jù)集經(jīng)常被用作控件的數(shù)據(jù)源,通常一個(gè)控件只能綁定到一個(gè)數(shù)據(jù)源。如果要將多個(gè)查詢的結(jié)果綁定到一個(gè)控件,則必須將多個(gè)查詢的結(jié)果填充到同一數(shù)據(jù)源中。當(dāng)然,這個(gè)功能也可以通過動(dòng)態(tài)繪制表格來實(shí)現(xiàn),但是我覺得動(dòng)態(tài)處理表格太麻煩了。為此,我們做了以下的測試,并在實(shí)驗(yàn)中取得了成功,現(xiàn)在我們來分享一下。原則:將多個(gè)查詢的結(jié)果填充到同一數(shù)據(jù)集的同一個(gè)表中,但將字段as填充到同一別名中兩次,否則會(huì)出現(xiàn)不必要的空行。代碼如下:privatevoiddatabing(){stringsql1=“select xqidasyhm,xqmcaszsxmfromxtuxq”//stringsql2=“selectxtuzdbuxtyleashym,descriptionaszxmfromxtuzdb”//sql1和SQL2使用相同的字段別名YHM和zsmusing(oracleconnection=neworacleconnection(“datasource=ABeen userid=systempassword=ABeen”){datasets=newdataset()嘗試{連接。打開()OracleDataAdaptercommand=newOracleDataAdapter(sql2,連接)命令。填充(DS,0,5,“tablename”)//第一次將數(shù)據(jù)填充到tablenamecommand=n ewOracleDataAdapter(sql1,connection)命令。填充(DS,“tablename”)//第二次填寫數(shù)據(jù)表名this.DataGrid1. datasource=DS//兩次填充的結(jié)果在DS的tablename中此.DataGrid1.DataBind()}捕獲(System.Data.OracleClient.OracleExceptionex){thrownewException(例如消息)}}}
哪些對象可以作為數(shù)據(jù)控件的數(shù)據(jù)源?
用于綁定到從的basedatalist類控件派生的對象的接口。設(shè)置datasource屬性時(shí),必須手動(dòng)編寫代碼以執(zhí)行數(shù)據(jù)綁定。如果datasource屬性指定的數(shù)據(jù)源包含多個(gè)數(shù)據(jù)源,請使用DataMember屬性指定要綁定到控件的特定源。例如,如果你有System.Data.DataSet數(shù)據(jù)集對象時(shí),必須指定要綁定到控件的表。指定數(shù)據(jù)源后,使用databind方法將數(shù)據(jù)源綁定到控件。問題是,如果我們使用通用列表呢?它還實(shí)現(xiàn)了IEnumerable接口,但是您認(rèn)為列表中的任何對象都可以用作數(shù)據(jù)源嗎?讓我們看看下面的代碼:class student{public student(string n,string s){name=nsex=s}public string namelist