【问题标题】:How to get a Telerik Multi column combo box value which is a column in rad grid view?如何获取作为 rad 网格视图中的列的 Telerik 多列组合框值?
【发布时间】:2016-01-05 10:36:03
【问题描述】:

我想获取 telerik 多组合框的第一个元素,它是 Telerik 网格视图的一列

当用户选择一行时,我想获取该行的第一个元素并将其传递给我的数据库

我做了一些事情,但我觉得这还不够

    if (Ref_MultiColumnComboBox.MultiColumnComboBoxElement.SelectedIndex >= 0)
        {
            var tr = Ref_MultiColumnComboBox.MultiColumnComboBoxElement
                .EditorControl.Rows[Ref_MultiColumnComboBox.MultiColumnComboBoxElement.SelectedIndex]
                    .Cells["Id"].Value.ToString();
            MessageBox.Show("m= {0}" + "  //    " + tr);
        }
        else
        {
            MessageBox.Show("", "Error");
        }

问题是当用户选择某行或不选择某行时,selectedindex 总是-1

【问题讨论】:

  • 它总是 -1 的原因是因为你正在实例化它。删除这一行 Ref_MultiColumnComboBox = new RadMultiColumnComboBox();
  • @Bayeni 我更正了您提到的内容,但是在此之后,如果我输入消息,则会弹出消息
  • 我不明白你的意思,你的意思是删除那条线后它可以工作吗?
  • @Bayeni 不,不是,我认为它有效,但不是

标签: c# winforms telerik telerik-grid


【解决方案1】:

这是 RadMultiColumnComboBox 控件的一种方法:

void radMultiColumnComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewDataRowInfo selectedRow = (GridViewDataRowInfo)radMultiColumnComboBox1.SelectedItem;
    Console.WriteLine(selectedRow.Cells["Id"].Value.ToString());
}

SelectedItem 提供对内部网格中选定行的引用,您可以从中访问其单元格和值。

如果使用GridViewMultiComboBoxColumn,则可以使用ValueChanged事件或CellValueChangned事件来获取当前选中项所在的行:

void radGridView1_CellValueChanged(object sender, GridViewCellEventArgs e)
{
    RadMultiColumnComboBoxElement mccbEditor = (RadMultiColumnComboBoxElement)e.ActiveEditor;
    GridViewDataRowInfo selectedRow = (GridViewDataRowInfo)mccbEditor.SelectedItem;
    Console.WriteLine(selectedRow.Cells["Id"].Value.ToString());
}

void radGridView1_ValueChanged(object sender, EventArgs e)
{
    RadMultiColumnComboBoxElement mccbEditor = (RadMultiColumnComboBoxElement)radGridView1.ActiveEditor;
    GridViewDataRowInfo selectedRow = (GridViewDataRowInfo)mccbEditor.SelectedItem;
    Console.WriteLine(selectedRow.Cells["Id"].Value.ToString());
}

【讨论】:

  • 谢谢,这是迄今为止最好的答案,但这里的问题是我在 Telerik 网格视图中使用它,我找不到这个 radMultiColumnComboBox1_SelectedIndexChanged(object sender, EventArgs e)
  • 并且该列的名称不是 radmulti..... 而且在我的智能手机中不会给我任何东西,我该怎么办?
  • 非常感谢,我怎样才能将这些值插入到列表中??
  • 如果是字符串,则创建一个 List 并将其插入其中。这是有关此事的文档:msdn.microsoft.com/en-us/library/3wcytfd1(v=vs.110).aspx
猜你喜欢
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多