我有一個datarepeater和下面的代碼只刪除第一條記錄,無論選擇哪一個。我並不完全相信這是使用數據處理器的正確方法,但我找不到更好的解決方案。我需要能夠選擇任何記錄並將其刪除。Datarepeater刪除只刪除最高記錄
//delete document
private void cmdDeleteDoc_Click(object sender, EventArgs e)
{
if (this.dataRepeater1.CurrentItemIndex == 0)
{
//begin reset
this.dataRepeater1.BeginResetItemTemplate();
// Delete Row Here
DataClasses1DataContext db = new DataClasses1DataContext();
System.Data.DataRowView SelectedRowView;
newCityCollectionDataSet.DocumentsRow SelectedRow;
SelectedRowView = (System.Data.DataRowView)documentsBindingSource.Current;
SelectedRow = (newCityCollectionDataSet.DocumentsRow)SelectedRowView.Row;
var matchedDocument = (from c in db.GetTable<Document>()
where c.DocIDKey == SelectedRow.DocIDKey
select c).SingleOrDefault();
db.Documents.DeleteOnSubmit(matchedDocument);
db.SubmitChanges();
LoadCaseNumberKey(matchedDocument.CaseNumberKey, false, "documents");
this.dataRepeater1.EndResetItemTemplate();
}
}
任何幫助將是偉大的!
爲什麼這行'if(this.dataRepeater1.CurrentItemIndex == 0)'? – 2011-05-02 16:05:12
@Mika那條線不是必須的,你是正確的。那是因爲我從另一個必須有當前項目運行的按鈕複製它。如果沒有記錄,我也不希望這樣做。 – korrowan 2011-05-02 16:17:02