2013-04-15 15 views
0

我很确定我已经通过查找我可以解决的所有问题而困惑了自己,但一直无法指出我做错了什么。 我在想我已经做了不止一件事情,所以我可以使用任何帮助,你可能会看到需要改进。 我需要用户在页面上输入他们的客户ID,以便在调出提交按钮时进行调查点击一个列表框。提交应该仅检索客户已关闭的事件,并仅返回这些事件,并生成一条消息,说明没有可供他们调查的事件。我知道我没有对rowfilter = part的引用,所以任何帮助都非常感谢。
我应该使用数据视图来过滤行,以便只显示该客户的已关闭事件。我应该将rowfilter属性设置为复合条件,其中customerID等于它们输入的文本框,并且DateClosed不为null。在数据视图中使用RowFilter属性创建复合条件以等于空值所输入的值

protected void btnGetIncidents_Click(object sender, EventArgs e) 
{ 
    DataView IncidentsTable = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty); 
    IncidentsTable.RowFilter = "CustomerID = 'txtCustomerID.Text + And DateClosed is Not Null'"; 
    DataRowView row = (DataRowView)IncidentsTable[0]; 

    if (IncidentsTable.Count > 0) 
    { 
     this.DisplayIncidents(); 
     this.Enable(true); 
     lstIncident.Focus(); 
    } 
} 
private void DisplayIncidents() 
{ 
    lstIncident.Items.Add(new ListItem("--Select an Incident--")); 
    foreach (DataRowView row in IncidentsTable) 
    { 
     Incident i = new Incident(); 
     i.IncidentID = Convert.ToInt32(row["IncidentID"]); 
     i.ProductCode = row["ProductCode"].ToString(); 
     i.DateClosed = Convert.ToDateTime(row["DateClosed"]); 
     i.Title = row["Title"].ToString(); 
     lstIncident.Items.Add(new ListItem(i.CustomerIncidentDisplay(), i.IncidentID.ToString())); 
    } 
    lstIncident.SelectedIndex = 0; 
} 

error msg said this Message =无法对System.Int32和System.String执行'='操作。在我的rowfilter行。

是的我知道有更好的方法,但我按照说明需要使用这个和我提到的其他元素。不过,如果你有时间留意什么是更好的方式,我会喜欢这些输入。我已经添加了灰色的头发,所以任何帮助,你是我的英雄。谢谢。
如果我需要包括任何其他部分让我知道我只是不认为它应该是六英里长。

回答

0

试试这个:

IncidentTable.RowFilter = "CustomerID ="+txt_CustomerID.Text+ 
          "AND DateClosed IS NOT NULL"; 

它的工作对我来说...

相关问题