为什么显示“SYSTEM.DATA.DATAROWVIEW”而不是列名?

时间:2016-07-15 05:39:16

标签: c#

我的表单应用程序中有两个ListBoxes和一个ComboBox。我想将其中所有3个(两个ListBoxes和一个ComboBox)中的当前所选项目添加到新的TextBox。但是,我将列名称改为:

  

SYSTEM.DATA.DATAROWVIEW

这是我正在使用的代码:

private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
{
    string cmdstr = @"select * from information_schema.columns where table_name = '" + comboBox1.SelectedItem + "'";
    string conStr = @"Data Source=INPDDBA027\NGEP;Initial Catalog=Dev_Server;Integrated Security=True";
    DataTable dt = new DataTable();
    SqlDataAdapter sda = new SqlDataAdapter(cmdstr, conStr);
    sda.Fill(dt);
    //listBox2.DataSource = dt;
    //listBox2.DisplayMember = "Column_Name";
    textBox2.CharacterCasing = CharacterCasing.Upper;
    textBox2.Text = (listBox1.SelectedItem.ToString() + " " + listBox2.SelectedItem.ToString() + " FROM " + comboBox1.SelectedItem.ToString());
}

请帮忙。

4 个答案:

答案 0 :(得分:1)

使用GetItemText方法:

@JmsListener(destination = "cdrserver/calls")
public void receiveMessage1(BaseCDRMessage cdrMessage) {
    cdrMonitorService.sendCDR(cdrMessage);
}


@Override
public void sendCDR(BaseCDRMessage cdrMessage) {
    messagingTemplate.convertAndSend("/topic/panel/calls/" + cdrMessage.getIncomingCallingNumber(),cdrMessage);
}

listBox1.GetItemText(listBox1.SelectedItem); 使用

combobox

答案 1 :(得分:0)

你应该设置两者:

listBox1.DataValueField =“fieldValue” listBox1.DataTextField =“textValue”

listBox2.DataValueField =“fieldValue” listBox2.DataTextField =“textValue”

答案 2 :(得分:0)

虽然你可以操纵

listBox1.SelectedItem.ToString()

使用cast之类的

((DataRowView)listBox1.SelectedItem)["Enter column name here"].ToString();

要从您添加到列表框中的SYSTEM.DATA.DATAROWVIEW中检索数据,更好的选择可能是查看您首先填充列表框的方式,以便它只包含您需要的字符串而不是SYSTEM.DATA.DATAROWVIEW s的集合。

答案 3 :(得分:0)

您可以将所选项目的值设为

string variable =  listBox1.SelectedValue;

和所选项目的文本为

string variable = listBox1.SelectedItem.Text;

希望这有助于!!!