【问题标题】:How to get gridview cell value in RepositoryItemGridLookupEdit_ValueChanged Event and set in TextEdit?如何在 RepositoryItemGridLookupEdit_ValueChanged 事件中获取 gridview 单元格值并在 TextEdit 中设置?
【发布时间】:2013-11-26 10:12:29
【问题描述】:

我想获得一个单元格值,特别是重点行和上一行??我试过这段代码,

object obj1 = gridView1.GetRowCellValue(gridView1.FocusedRowHandle - 1, gridView1.Columns["Each"]);
string str1= obj1.ToString();
textEdit1.Text = str1;


textEdit1.Text = gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["Each"]);

但此代码适用于按钮,但在 RepositoryItemGridLookupEdit_ValueChanged 事件中不起作用或在 CustomUnboundDataEvent 中不起作用。

我想在 Edit Value Change Event 中获取 gridview 的单元格值,然后在 textEdit 中设置?帮帮我。

【问题讨论】:

    标签: c# winforms gridview devexpress


    【解决方案1】:

    起初是这个:textEdit1.Text = gridView1.SetRowCellValue(gridView1.FocusedRowHandle, gridView1.Columns["Each"]);

    没有意义,因为你没有设置TextEdit的值,只是设置了Cell的值。 SetRowCellValue 是 void 方法!

    要获得焦点行和上一行,您必须处理 gridview.focusedrowchanged 事件。您可以将该行转换为数据源的值,然后将该值分配给您的文本编辑器。

    例子:

    private void grvUebersicht_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
    {
    
        DataRow row = (DataRow)grvUebersicht.GetRow(e.FocusedRowHandle);
        DataRow row2 = (DataRow) grvUebersicht.GetRow(e.PrevFocusedRowHandle);
    
        TextEdit textedit = new TextEdit();
        textedit.Text = row["MyColumn"].ToString();
    }
    

    您还应该考虑使用 IList 作为数据源。在我看来,它是更美丽和现代的风格。如果您需要帮助,我已准备好发送示例;)

    【讨论】:

    • 嗨 Sebi,你现在正在获取值,但此事件连续触发两次。所以我的价值观改变了吗?有没有办法改变这个事件的这种行为?
    • @SriHari focusrowchanged 事件连续触发两次?我不能捕食这种行为。就我而言,它仅在我更改焦点行时才会触发。你确定不是通过代码设置焦点吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2015-02-15
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多