ErrorProvider.DataSource プロパティ
ErrorProvider が監視するデータ セットを取得または設定します。
Public Property DataSource As Object
[C#]
public object DataSource {get; set;}
[C++]
public: __property Object* get_DataSource();public: __property void set_DataSource(Object*);
[JScript]
public function get DataSource() : Object;public function set DataSource(Object);
プロパティ値
IList インターフェイスに基づく、エラーを監視させるためのデータ セット。通常、これはエラーを監視させるための DataSet です。
解説
DataSource は、コントロールに結び付けたり、エラーを監視したりするフィールドを持ったテーブルを含んでいる DataSet です。 DataSource は、 IList を実装する任意のコレクションに設定できます。
DataSource と DataMember を変更しても、実行時に競合が発生しないようにするには、 DataSource と DataMember を個別に設定するのではなく、 BindToDataAndErrors を使用する必要があります。
使用例
[Visual Basic, C#, C++] DataSource および DataMember と併せて ErrorProvider を使用し、データ エラーをユーザーに提示する例を次に示します。
Private Sub InitializeComponent()
' Standard control setup.
'....
' You set the DataSource to a data set, and the DataMember to a table.
errorProvider1.DataSource = dataSet1
errorProvider1.DataMember = dataTable1.TableName
errorProvider1.ContainerControl = Me
errorProvider1.BlinkRate = 200
End Sub 'InitializeComponent
'...
' Since the ErrorProvider control does not have a visible component,
' it does not need to be added to the form.
Protected Sub buttonSave_Click(sender As Object, e As System.EventArgs)
' Checks for a bad post code.
Dim CustomersTable As DataTable
CustomersTable = customersDataSet1.Tables("Customers")
Dim row As DataRow
For Each row In CustomersTable.Rows
If Convert.ToBoolean(row("PostalCodeIsNull")) Then
row.RowError = "The Customer details contain errors"
row.SetColumnError("PostalCode", "Postal Code required")
End If
Next row
End Sub 'buttonSave_Click
[C#]
private void InitializeComponent()
{
// Standard control setup.
//....
// You set the DataSource to a data set, and the DataMember to a table.
errorProvider1.DataSource = dataSet1 ;
errorProvider1.DataMember = dataTable1.TableName ;
errorProvider1.ContainerControl = this ;
errorProvider1.BlinkRate = 200 ;
//...
// Since the ErrorProvider control does not have a visible component,
// it does not need to be added to the form.
}
protected void buttonSave_Click(object sender, System.EventArgs e)
{
// Checks for a bad post code.
DataTable CustomersTable;
CustomersTable = customersDataSet1.Tables["Customers"];
foreach (DataRow row in (CustomersTable.Rows))
{
if (Convert.ToBoolean(row["PostalCodeIsNull"]))
{
row.RowError="The Customer details contain errors";
row.SetColumnError("PostalCode", "Postal Code required");
}
}
}
[C++]
private:
void InitializeComponent()
{
// Standard control setup.
//....
// You set the DataSource to a data set, and the DataMember to a table.
errorProvider1->DataSource = dataSet1 ;
errorProvider1->DataMember = dataTable1->TableName ;
errorProvider1->ContainerControl = this ;
errorProvider1->BlinkRate = 200 ;
//...
// Since the ErrorProvider control does not have a visible component,
// it does not need to be added to the form.
}
protected:
void buttonSave_Click(Object* /*sender*/, System::EventArgs* /*e*/)
{
// Checks for a bad post code.
DataTable* CustomersTable;
CustomersTable = customersDataSet1->Tables->Item[S"Customers"];
System::Collections::IEnumerator* myEnum = (CustomersTable->Rows)->GetEnumerator();
while (myEnum->MoveNext())
{
DataRow* row = __try_cast<DataRow*>(myEnum->Current);
if (Convert::ToBoolean(row->Item[S"PostalCodeIsNull"]))
{
row->RowError=S"The Customer details contain errors";
row->SetColumnError(S"PostalCode", S"Postal Code required");
}
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
ErrorProvider クラス | ErrorProvider メンバ | System.Windows.Forms 名前空間 | DataMember | IList