首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Datarepeater delete仅删除顶部记录

Datarepeater delete仅删除顶部记录
EN

Stack Overflow用户
提问于 2011-05-02 22:00:50
回答 1查看 584关注 0票数 0

我有一个datarepeater,下面的代码只删除第一条记录,而不管选择了哪条记录。我不完全相信这是使用datarepeater的正确方法,但我找不到更好的解决方案。我需要能够选择任何记录并删除它。

代码语言:javascript
复制
    //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();
        }


    }

任何帮助都是最好的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-03 00:11:12

我的猜测是你把documentsBindingSourcedataRepeater混在一起了。

你在视觉上“看到”的是dataRepeater,而你“得到”的是documentsBindingSource.Current (你检索的是SelectedRowView)

其始终设置为0索引。这是一个非常常见的Winforms控件陷阱。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5858090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档