下拉列表框的问题?(40分)

  • 主题发起人 主题发起人 c953131
  • 开始时间 开始时间
C

c953131

Unregistered / Unconfirmed
GUEST, unregistred user!
以下两段代码没有实际的关联,是独立的!
在第一段中我是想用DataView来增加新行的
在第二段中我是想用DataRow来增加新行的
通过select查出的数据,我是想把它绑定在下拉列表框中显示的,
增加的新行并不在数据库中,也不需要保存到数据库,只是显示的时候,让它显示
通常在要下拉列表框中“请选择”的,我就是想在显示是多一个“请选择”
代码段一:
strsql="select f_Name,f_Code from Tab_UseType order by f_Code";
OleDbDataAdapter objCmd = new OleDbDataAdapter(strsql,myconn);
DataSet objDataSet = new DataSet();
objCmd.Fill(objDataSet,"Table_View");
DataView objDataView=new DataView(objDataSet.Tables["Table_View"]);
DataRowView drv;
drv = objDataView.AddNew();
drv["f_Name"] = "AAA";
drv["f_Code"] = "AAFabrikam, Inc.";
f_UseType.DataSource=objDataView;
f_UseType.DataTextField="f_Name";
f_UseType.DataValueField="f_Code";
f_UseType.DataBind();
代码段二:
strsql="select * from Tab_UseType order by f_Code";
OleDbDataAdapter objCmd = new OleDbDataAdapter(strsql,myconn);
DataSet objDataSet = new DataSet();
objCmd.Fill(objDataSet,"Table_View");
DataView objDataView=new DataView(objDataSet.Tables["Table_View"]);
DataRow myRow;

//myRow = myTable.NewRow();
myRow = objDataSet.Tables["Table_View"].NewRow();
// then
add the new row to the collection.
myRow["f_Name"] = "";
myRow["f_Code"] = "";
//myTable.Rows.Add(myRow);
objDataSet.Tables["Table_View"].Rows.Add(myRow);

//DataView objDataView=new DataView(objDataSet.Tables["Table_View"]);
f_UseType.DataSource=objDataView;
f_UseType.DataTextField="f_Name";
f_UseType.DataValueField="f_Code";
f_UseType.DataBind();
调试后,并没有在下拉框中出现新行?
谁能告诉错在哪了???


 
用这样的法来作
this.FcuDropDownList.DataSource = SourceDs;
this.FcuDropDownList.DataTextField = "Fcu";
this.FcuDropDownList.DataValueField = "Fcu";
this.FcuDropDownList.DataBind();
//在第一个加入一项
this.FcuDropDownList.Items.Insert(0,"第一项");
 
还有其他的好办法吗?
以上两段程序,谁能告诉我错在哪了吗?
非常感谢!
 
worldlife说得对啊,这样才规范明了.
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部