主题:[原创]好心人指点指点?
fjhony
[专家分:0] 发布于 2007-04-23 02:09:00
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“hdDataSet1.toAddress”中。您可以根据需要移动或移除它。 // TODO: 这行代码将数据加载到表“hdDataSet.toAddress”中。您可以根据需要移动或移除它。
//this.toAddressTableAdapter.Fill(this.hdDataSet.toAddress);
SqlConnection con = new SqlConnection("server=.;database=HD;uid=sa;pwd= ");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from toAddress", con);
DataSet ds = new DataSet("toAddress");
da.Fill(ds);
listBox1.DataSource = ds;
listBox1.DataBindings.Add(new Binding("listBox1", ds, "toAddress.toAddress"));
comboBox1.DataSource = ds;
comboBox2.DataSource = ds;
comboBox1.DataBindings.Add(new Binding("龙岩", ds, "toAddress.toAddress"));
con.Close();
}
}
}
提示是这个问题?{"无法绑定到目标控件的属性“listBox1”。\r\n参数名: porpertyName"}
哪位好心人指点指点。。。[em10]
回复列表 (共7个回复)
沙发
fjhony [专家分:0] 发布于 2007-04-23 14:02:00
怎么没有人帮帮忙呢?哪位达人帮帮忙啊?
板凳
tujun [专家分:1190] 发布于 2007-04-23 17:12:00
listBox1.DataBindings.Add(new Binding("listBox1", ds, "toAddress.toAddress"));
这句应该是
listBox1.DataBindings.Add(new Binding("Text", ds, "toAddress.toAddress"));
3 楼
fjhony [专家分:0] 发布于 2007-04-23 18:20:00
这样我设置了,可是它环是会提示说
未处理 System.ArgumentException
Message="无法绑定到目标控件的属性“Test”。\r\n参数名: PropertyName"
Source="System.Windows.Forms"
ParamName="PropertyName"
StackTrace:
在 System.Windows.Forms.Binding.CheckBinding()
在 System.Windows.Forms.Binding.SetBindableComponent(IBindableComponent value)
在 System.Windows.Forms.ControlBindingsCollection.AddCore(Binding dataBinding)
在 System.Windows.Forms.ControlBindingsCollection.Add(Binding binding)
在 Selling.Form1.Form1_Load(Object sender, EventArgs e) 位置 D:\MyWeb\Selling\Selling\Form1.cs:行号 29
在 System.Windows.Forms.Form.OnLoad(EventArgs e)
在 System.Windows.Forms.Form.OnCreateControl()
在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
在 System.Windows.Forms.Control.CreateControl()
在 System.Windows.Forms.Control.WmShowWindow(Message& m)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
在 System.Windows.Forms.Form.WmShowWindow(Message& m)
在 System.Windows.Forms.Form.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
在 System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
在 System.Windows.Forms.Control.SetVisibleCore(Boolean value)
在 System.Windows.Forms.Form.SetVisibleCore(Boolean value)
在 System.Windows.Forms.Control.set_Visible(Boolean value)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
在 System.Windows.Forms.Application.Run(Form mainForm)
在 Selling.Program.Main() 位置 D:\MyWeb\Selling\Selling\Program.cs:行号 17
在 System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
在 System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
在 System.Threading.ThreadHelper.ThreadStart_Context(Object state)
在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
在 System.Threading.ThreadHelper.ThreadStart()
这是什么意思?这里面的第一个参数和第三个参数分别是什么意思。我还是不太清楚,你能给我说清楚点吗?
另外,顺便问你一下在一个SqlConnection里面能不能new两个SqlDataAdapter呢?
谢谢tujun大哥!!!
4 楼
fjhony [专家分:0] 发布于 2007-04-23 18:23:00
不好意思tujun大哥。我写错了。郁闷。刚刚开始学习这个,真的好累啊。自学真的有点难度啊!!
5 楼
tujun [专家分:1190] 发布于 2007-04-24 14:36:00
可以new多个SqlDataAdapter,只要SqlConnection没有关闭或销毁
6 楼
tujun [专家分:1190] 发布于 2007-04-24 22:35:00
ListControl.DataSource 属性
备注
有两种方式可以填充 ComboBox 和 ListBox 控件。
例如,使用 Add 方法可向 ComboBox 中添加对象。也可以通过用 DataSource、DisplayMember 和 ValueMember 属性填充 ComboBox 来向 ComboBox 添加对象。
设置了 DataSource 属性之后,用户不能修改项集合。
如果设置 DataSource 属性导致数据源更改,则将引发 DataSourceChanged 事件。如果设置此属性导致数据成员更改,则将引发 DisplayMemberChanged 事件。
将 DataSource 设置成空引用(Visual Basic 中为 Nothing)时,DisplayMember 将设置为空字符串 ("")。
示例
[Visual Basic, C#] 下面的示例是一个完整的应用程序,它说明在 ListBox 类实现了 ListControl 类的 DataSource、DisplayMember、ValueMember 和 SelectedValue 等成员后,如何使用这些成员。本示例加载了 ArrayList 和列表框。当用户在列表框中选择了一个项时,将把选定的值用于返回与选定的项关联的数据。
7 楼
fjhony [专家分:0] 发布于 2007-04-25 18:53:00
谢谢。
tujun大哥。
我来回复