void AddProduct(string sProductCode,int iNum)
{
string sCode = "";
bool blNew = true;
for( int i=0;i<lvView.Items.Count;i++ )
{
// sCode = lvView.Items.Count.ToString();
sCode = lvView.Items[i].Text ;
if( sCode == sProductCode )
{
int iSum = 0;
try
{
iSum = Convert.ToInt32( lvView.Items[i].SubItems[3].Text);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
iSum = iSum + iNum;
lvView.Items[i].SubItems[3].Text = iSum.ToString();
blNew = false;
}
}
if( blNew )
{
for( int i=0;i<m_dtStandard.Rows.Count;i++ )
{
sCode = m_dtStandard.Rows[i][0].ToString().Trim();
if( sCode == sProductCode )//是这句的原因吗?
{
ListViewItem lvi = new ListViewItem();
lvi.Text = m_dtStandard.Rows[i][0].ToString().Trim();
lvi.SubItems.Add(m_dtStandard.Rows[i][1].ToString().Trim());
lvi.SubItems.Add(m_dtStandard.Rows[i][2].ToString().Trim());
lvi.SubItems.Add(iNum.ToString());
lvi.SubItems.Add(m_dtStandard.Rows[i]["rkdj"].ToString().Trim());
lvView.Items.Add( lvi );
break;
}
}
} }
看不明白这段里面怎么只循环一次呢?我要是想让他循环多次该怎么办呢?
{
string sCode = "";
bool blNew = true;
for( int i=0;i<lvView.Items.Count;i++ )
{
// sCode = lvView.Items.Count.ToString();
sCode = lvView.Items[i].Text ;
if( sCode == sProductCode )
{
int iSum = 0;
try
{
iSum = Convert.ToInt32( lvView.Items[i].SubItems[3].Text);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
iSum = iSum + iNum;
lvView.Items[i].SubItems[3].Text = iSum.ToString();
blNew = false;
}
}
if( blNew )
{
for( int i=0;i<m_dtStandard.Rows.Count;i++ )
{
sCode = m_dtStandard.Rows[i][0].ToString().Trim();
if( sCode == sProductCode )//是这句的原因吗?
{
ListViewItem lvi = new ListViewItem();
lvi.Text = m_dtStandard.Rows[i][0].ToString().Trim();
lvi.SubItems.Add(m_dtStandard.Rows[i][1].ToString().Trim());
lvi.SubItems.Add(m_dtStandard.Rows[i][2].ToString().Trim());
lvi.SubItems.Add(iNum.ToString());
lvi.SubItems.Add(m_dtStandard.Rows[i]["rkdj"].ToString().Trim());
lvView.Items.Add( lvi );
break;
}
}
} }
看不明白这段里面怎么只循环一次呢?我要是想让他循环多次该怎么办呢?
sCode = m_dtStandard.Rows[i][0].ToString().Trim();
if( sCode == sProductCode )//是这句的原因吗?
{
ListViewItem lvi = new ListViewItem();
lvi.Text = m_dtStandard.Rows[i][0].ToString().Trim();
lvi.SubItems.Add(m_dtStandard.Rows[i][1].ToString().Trim());
lvi.SubItems.Add(m_dtStandard.Rows[i][2].ToString().Trim());
lvi.SubItems.Add(iNum.ToString());
lvi.SubItems.Add(m_dtStandard.Rows[i]["rkdj"].ToString().Trim());
lvView.Items.Add( lvi );
break;
}
首先看看m_dtStandard.Rows.Count是不是1
在看看sCode == sProductCode 是否相等
在吧break; 去掉。
if( sCode.CompareTo(sProductCode)==0)
不明白
你循环一次是因为这个的,不好意思
应该是m_dtStandard是等于1,但我不知道怎么解决这
是不是把sProductCode改成lvView.Items.Count就是行的呢?
呵呵 这样好像行不通@_@