ErrorProvider.DataSource 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定監控所需的 ErrorProvider 資料來源。
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 介面的資料來源,需監控錯誤。 通常,這會 DataSet 被監控是否有錯誤。
- 屬性
範例
以下程式碼範例說明如何使用 ErrorProvider a DataSource 和 DataMember 來向使用者顯示資料錯誤。 此程式碼假設你已建立並填充一個DataSet包含 dataSet1DataTable的名稱dataTable1。 當你將 綁 DataSet 定到 像是控制項這 DataGridView 類控制項時,透過 DataRow 物件指定的錯誤會以錯誤字形的形式出現在控制 DataGridView 項中。
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.
}
private:
void buttonSave_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Checks for a bad post code.
DataTable^ CustomersTable;
CustomersTable = dataSet1->Tables[ "Customers" ];
System::Collections::IEnumerator^ myEnum = (CustomersTable->Rows)->GetEnumerator();
while ( myEnum->MoveNext() )
{
DataRow^ row = safe_cast<DataRow^>(myEnum->Current);
if ( Convert::ToBoolean( row[ "PostalCodeIsNull" ] ) )
{
row->RowError = "The Customer details contain errors";
row->SetColumnError( "PostalCode", "Postal Code required" );
}
}
}
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.
}
private void buttonSave_Click(object sender, System.EventArgs e)
{
// Checks for a bad post code.
DataTable CustomersTable;
CustomersTable = dataSet1.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");
}
}
}
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
'...
' Since the ErrorProvider control does not have a visible component,
' it does not need to be added to the form.
Private Sub buttonSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
' Checks for a bad post code.
Dim CustomersTable As DataTable
CustomersTable = dataSet1.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
備註
這是一個 DataSource 你可以附加到控制項上,並且你想監控錯誤的資料來源。 DataSource 可以設定為任何實 IList作 的集合。
為避免執行時變更 和 時可能發生DataSource的衝突,你應該使用DataMember而非分別設定 BindToDataAndErrors 和 DataSource 。DataMember