ListControl.DataSource 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 ListControl의 데이터 소스를 가져오거나 설정합니다.
public:
property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public object DataSource { get; set; }
public object DataSource { get; set; }
public object? DataSource { get; set; }
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.DataSource : obj with get, set
member this.DataSource : obj with get, set
Public Property DataSource As Object
속성 값
IList, IListSource 등과 같은 DataSet 또는 Array 인터페이스를 구현하는 개체입니다. 기본값은 null
입니다.
- 특성
예외
할당된 값이 IList 또는 IListSource 인터페이스를 구현하지 않는 경우
예제
다음 코드 예제는 사용 하는 방법을 보여 주는 완전 한 애플리케이션 DataSource, DisplayMember를 ValueMember, 및 SelectedValue 의 멤버는 ListControl 에 의해 구현 된 클래스는 ListBox 클래스입니다. 이 예제에서는 로드는 ArrayList 와 목록 상자입니다. 사용자가 목록 상자에서 항목을 선택 하면 선택한 항목과 연결 된 데이터를 반환 하도록 선택한 값이 사용 됩니다.
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::Collections;
public ref class USState
{
private:
String^ myShortName;
String^ myLongName;
public:
USState( String^ strLongName, String^ strShortName )
{
this->myShortName = strShortName;
this->myLongName = strLongName;
}
property String^ ShortName
{
String^ get()
{
return myShortName;
}
}
property String^ LongName
{
String^ get()
{
return myLongName;
}
}
};
public ref class ListBoxSample3: public Form
{
private:
ListBox^ ListBox1;
Label^ label1;
TextBox^ textBox1;
public:
ListBoxSample3()
{
ListBox1 = gcnew ListBox;
label1 = gcnew Label;
textBox1 = gcnew TextBox;
this->ClientSize = System::Drawing::Size(307, 206 );
this->Text = "ListBox Sample3";
ListBox1->Location = Point(54,16);
ListBox1->Name = "ListBox1";
ListBox1->Size = System::Drawing::Size( 240, 130 );
label1->Location = Point(14,150);
label1->Name = "label1";
label1->Size = System::Drawing::Size(40, 24);
label1->Text = "Value";
textBox1->Location = Point(54,150);
textBox1->Name = "textBox1";
textBox1->Size = System::Drawing::Size( 240, 24 );
array<Control^>^temp2 = {ListBox1,label1, textBox1};
this->Controls->AddRange( temp2 );
// Populate the list box using an array as DataSource.
// DisplayMember is used to display just the long name of each state.
ArrayList^ USStates = gcnew ArrayList;
USStates->Add( gcnew USState( "Alabama","AL" ) );
USStates->Add( gcnew USState( "Washington","WA" ) );
USStates->Add( gcnew USState( "West Virginia","WV" ) );
USStates->Add( gcnew USState( "Wisconsin","WI" ) );
USStates->Add( gcnew USState( "Wyoming","WY" ) );
ListBox1->DataSource = USStates;
ListBox1->DisplayMember = "LongName";
ListBox1->ValueMember = "ShortName";
ListBox1->SelectedValueChanged += gcnew EventHandler( this, &ListBoxSample3::ListBox1_SelectedValueChanged );
ListBox1->SetSelected(0, false);
}
void InitializeComponent(){}
private:
void ListBox1_SelectedValueChanged( Object^ /*sender*/, EventArgs^ /*e*/ )
{
textBox1->Text="";
if ( ListBox1->SelectedIndex != -1 )
textBox1->Text = ListBox1->SelectedValue->ToString();
}
};
[STAThread]
int main()
{
Application::Run( gcnew ListBoxSample3 );
}
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Collections;
namespace MyListControlSample
{
public class ListBoxSample3 : Form
{
private ListBox ListBox1 = new ListBox();
private Label label1 = new Label();
private TextBox textBox1 = new TextBox();
[STAThread]
static void Main()
{
Application.Run(new ListBoxSample3());
}
public ListBoxSample3()
{
this.ClientSize = new Size(307, 206);
this.Text = "ListBox Sample3";
ListBox1.Location = new Point(54, 16);
ListBox1.Name = "ListBox1";
ListBox1.Size = new Size(240, 130);
label1.Location = new Point(14, 150);
label1.Name = "label1";
label1.Size = new Size(40, 24);
label1.Text = "Value";
textBox1.Location = new Point(54, 150);
textBox1.Name = "textBox1";
textBox1.Size = new Size(240, 24);
this.Controls.AddRange(new Control[] { ListBox1, label1, textBox1 });
// Populate the list box using an array as DataSource.
ArrayList USStates = new ArrayList();
USStates.Add(new USState("Alabama", "AL"));
USStates.Add(new USState("Washington", "WA"));
USStates.Add(new USState("West Virginia", "WV"));
USStates.Add(new USState("Wisconsin", "WI"));
USStates.Add(new USState("Wyoming", "WY"));
ListBox1.DataSource = USStates;
// Set the long name as the property to be displayed and the short
// name as the value to be returned when a row is selected. Here
// these are properties; if we were binding to a database table or
// query these could be column names.
ListBox1.DisplayMember = "LongName";
ListBox1.ValueMember = "ShortName";
// Bind the SelectedValueChanged event to our handler for it.
ListBox1.SelectedValueChanged +=
new EventHandler(ListBox1_SelectedValueChanged);
// Ensure the form opens with no rows selected.
ListBox1.ClearSelected();
}
private void InitializeComponent()
{
}
private void ListBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (ListBox1.SelectedIndex != -1)
{
textBox1.Text = ListBox1.SelectedValue.ToString();
// If we also wanted to get the displayed text we could use
// the SelectedItem item property:
// string s = ((USState)ListBox1.SelectedItem).LongName;
}
}
}
public class USState
{
private string myShortName;
private string myLongName;
public USState(string strLongName, string strShortName)
{
this.myShortName = strShortName;
this.myLongName = strLongName;
}
public string ShortName
{
get
{
return myShortName;
}
}
public string LongName
{
get
{
return myLongName;
}
}
}
}
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections
Public Class ListBoxSample3
Inherits Form
Private ListBox1 As New ListBox()
Private label1 As New Label()
Private textBox1 As New TextBox()
<STAThread()> _
Shared Sub Main()
Application.Run(New ListBoxSample3())
End Sub
Public Sub New()
Me.ClientSize = New Size(307, 206)
Me.Text = "ListBox Sample3"
ListBox1.Location = New Point(54, 16)
ListBox1.Name = "ListBox1"
ListBox1.Size = New Size(240, 130)
label1.Location = New Point(14, 150)
label1.Name = "label1"
label1.Size = New Size(40, 24)
label1.Text = "Value"
textBox1.Location = New Point(54, 150)
textBox1.Name = "textBox1"
textBox1.Size = New Size(240, 24)
Me.Controls.AddRange(New Control() {ListBox1, label1, textBox1})
' Populate the list box using an array as DataSource.
Dim USStates As New ArrayList()
USStates.Add(New USState("Alabama", "AL"))
USStates.Add(New USState("Washington", "WA"))
USStates.Add(New USState("West Virginia", "WV"))
USStates.Add(New USState("Wisconsin", "WI"))
USStates.Add(New USState("Wyoming", "WY"))
ListBox1.DataSource = USStates
' Set the long name as the property to be displayed and the short
' name as the value to be returned when a row is selected. Here
' these are properties; if we were binding to a database table or
' query these could be column names.
ListBox1.DisplayMember = "LongName"
ListBox1.ValueMember = "ShortName"
' Bind the SelectedValueChanged event to our handler for it.
AddHandler ListBox1.SelectedValueChanged, AddressOf ListBox1_SelectedValueChanged
' Ensure the form opens with no rows selected.
ListBox1.ClearSelected()
End Sub
Private Sub InitializeComponent()
End Sub
Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As EventArgs)
If ListBox1.SelectedIndex <> -1 Then
textBox1.Text = ListBox1.SelectedValue.ToString()
' If we also wanted to get the displayed text we could use
' the SelectedItem item property:
' Dim s = CType(ListBox1.SelectedItem, USState).LongName
End If
End Sub
End Class
Public Class USState
Private myShortName As String
Private myLongName As String
Public Sub New(ByVal strLongName As String, ByVal strShortName As String)
Me.myShortName = strShortName
Me.myLongName = strLongName
End Sub
Public ReadOnly Property ShortName() As String
Get
Return myShortName
End Get
End Property
Public ReadOnly Property LongName() As String
Get
Return myLongName
End Get
End Property
End Class
설명
두 가지 방법으로 채울 합니다 ComboBox 고 ListBox 컨트롤입니다.
예를 들어 개체를 추가할 수 있습니다 합니다 ComboBox 를 사용 하 여를 Add 메서드. 개체를 추가할 수도 있습니다는 ComboBox 를 사용 하 여는 DataSource, DisplayMember, 및 ValueMember 속성을 채우는 ComboBox합니다.
경우는 DataSource 속성을 설정 하면 사용자는 항목 컬렉션을 수정할 수 없습니다.
설정 하는 경우는 DataSource 속성을 변경 하려면 데이터 원본으로 인해는 DataSourceChanged 이벤트가 발생 합니다. 이 속성을 설정 하면 데이터 멤버를 변경 하는 경우는 DisplayMemberChanged 이벤트가 발생 합니다.
설정한 경우 DataSource 하 null
, DisplayMember 빈 문자열로 설정 됩니다 ("").
적용 대상
.NET