首先在vs2005中引入using System.Data.SqlClient命名空间
/// 查询
/// </summary>
/// <returns></returns>
public DataTable Select()
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESSInitial Catalog=TestIntegrated Security=True")//Initial Catalog后面跟你数据库的名字,如果你的SqlServer服务器名称后面不带SQLEXPRESS,那么Data Source=.
conn.Open()
string sql = "select * from users"
SqlCommand cmd = new SqlCommand(sql, conn)
SqlDataAdapter sda = new SqlDataAdapter(cmd)
DataTable dt = new DataTable()
sda.Fill(dt)
conn.Close()
cmd.Dispose()
return dt
}
方法写好后,在form窗体中拖一个comboBox,然后在Load方法中
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DataSource = Select()//绑定数据
comboBox1.DisplayMember="name"//下拉列表中显示的是你数据库中name的值
comboBox1.ValueMember ="id"//这个一般绑定的是id,增加删除之用。这个属性也可不设
}
这样一运行,comboBox中就会显示数据了!
for I := 1 to 6 dowith TComboBox.Create(self) do begin
Name :='jb_xx1_' + InttoStr(I)
Parent := Self.TabSheet2
Top := 27*(i-1)+3
Left := length(jb_txt[i])*6+30
Height := 2
font.Name := 'Arial'
font.Size :=8
// 添加数据
for j:1 to ADOQuery1.RecordCount do
begin
Items.Add(ADOQuery1.FeildByName('comboboxItems').AsString)
end
// 添加结束,将默认显示设为显示第一项
ItemIndex := 0
show
end
上面是从数据库读取数据添加(记得打开和关闭连接就行)。要是有固定的值就更简单了,直接添加就OK。你都创建完控件了,添加数据不很简单吗。你是还有什么要求吗
从问题描述来看,推测可能是 ComboBox 的动态设置问题。
示例代码如下:
procedure TForm1.Button1Click(Sender: TObject)
begin
ComboBox1.Clear
ComboBox1.Items.Add('标题1')
ComboBox1.Items.Add('标题2')
end
运行截图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)