如何在C#2010中自动生成和更新listView序列号? [英] how to auto generate and Update listView serial numbers in C# 2010 ?

查看:327
本文介绍了如何在C#2010中自动生成和更新listView序列号?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我的项目我正在使用带列的ListView(S.no,ItemCode,ItemName,颜色,大小,单位,数量,MRP,总计)并创建S.no列作为自动生成。插入它时自动生成S.no但在删除媒体上的项目时S.no not Updated。



例如:





1 PB001裤子蓝色小号10 150 1500

2 PB002棉质红色大号20 100 2000

3 PB003牛仔裤Green Medium nos 30 100 3000



在删除(2nd)S.no时,它显示更新(第3个)S.no到(2nd)S.no。但我在我的listView中保持第3个S.no.



我的编码:



public void LoadSNo()

{

Double Slno = 0;

if(listView1.Items.Count> 0)

{



foreach(ListViewItem Itm in listView1.Items)

{

if(Itm) .SubItems [0] .Text!=)

{

Slno = Convert.ToDouble(Itm.SubItems [0] .Text);

}

其他

{

Slno = 0;

}

Slno = Slno + 1;

}





ListViewItem Itm1;

if(TeSno.Text!=)

{

Itm1 = new ListViewItem(TeSno.Text);

}

else

{

Itm1 = new ListViewItem(Slno.ToString());

}

Itm1.SubItems.Add(ICBItemCode.Text);

Itm1.SubItems.Add(ICBItemName.Text);

Itm1.SubItems.Add(ICBColor.Text);

Itm1.SubItems.Add(TeSize.Text);

Itm1.SubItems.Add(CBEUnit .Text);

Itm1.SubItems.Add(TEQuantity.Text);

Itm1.SubItems.Add(TEMRP.Text);

Itm1.SubItems.Add(TETotal.Text);

Itm1.SubItems.Add(TeDummyID.Text);

listView1.Items.Add(Itm1);

TeDummyID.Text =;

GrandCalc();

SalesClear();

返回;

}



其他

{

ListView Item Itm2 = new ListViewItem(1);

Itm2.SubItems.Add(ICBItemCode.Text);

Itm2.SubItems.Add(ICBItemName.Text);

Itm2.SubItems.Add(ICBColor.Text);

Itm2.SubItems.Add(TeSize.Text);

Itm2.SubItems.Add (CBEUnit.Text);

Itm2.SubItems.Add(TEQuantity.Text);

Itm2.SubItems.Add(TEMRP.Text);

Itm2.SubItems.Add(TETotal.Text);

Itm2.SubItems.Add(TeDummyID.Text);

listView1.Items.Add(Itm2);

TeDummyID.Text =;

GrandCalc();

SalesClear();

}

TeSno.Text = string.Empty;

}

Hi In My Project I''m Using ListView With Columns(S.no, ItemCode, ItemName, color, Size, unit, Quantity, M.R.P, Total) and Created the S.no Columns as Auto Generate .While Inserting It Generates S.no automatically but while removing an item at the media the S.no not Updated.

For Example :


1 PB001 PANT Blue Small nos 10 150 1500
2 PB002 COTTONPANT Red Large nos 20 100 2000
3 PB003 JEANS Green Medium nos 30 100 3000

While Deleting (2nd) S.no, it showed Update (3rd) S.no to (2nd) S.no . But i stay as 3rd S.no in my listView.

My Coding :

public void LoadSNo()
{
Double Slno = 0;
if (listView1.Items.Count > 0)
{

foreach (ListViewItem Itm in listView1.Items)
{
if (Itm.SubItems[0].Text != "")
{
Slno = Convert.ToDouble(Itm.SubItems[0].Text);
}
else
{
Slno = 0;
}
Slno = Slno + 1;
}


ListViewItem Itm1;
if (TeSno.Text != "")
{
Itm1 = new ListViewItem(TeSno.Text);
}
else
{
Itm1 = new ListViewItem(Slno.ToString());
}
Itm1.SubItems.Add(ICBItemCode.Text);
Itm1.SubItems.Add(ICBItemName.Text);
Itm1.SubItems.Add(ICBColor.Text);
Itm1.SubItems.Add(TeSize.Text);
Itm1.SubItems.Add(CBEUnit.Text);
Itm1.SubItems.Add(TEQuantity.Text);
Itm1.SubItems.Add(TEMRP.Text);
Itm1.SubItems.Add(TETotal.Text);
Itm1.SubItems.Add(TeDummyID.Text);
listView1.Items.Add(Itm1);
TeDummyID.Text = "";
GrandCalc();
SalesClear();
return;
}

else
{
ListViewItem Itm2 = new ListViewItem("1");
Itm2.SubItems.Add(ICBItemCode.Text);
Itm2.SubItems.Add(ICBItemName.Text);
Itm2.SubItems.Add(ICBColor.Text);
Itm2.SubItems.Add(TeSize.Text);
Itm2.SubItems.Add(CBEUnit.Text);
Itm2.SubItems.Add(TEQuantity.Text);
Itm2.SubItems.Add(TEMRP.Text);
Itm2.SubItems.Add(TETotal.Text);
Itm2.SubItems.Add(TeDummyID.Text);
listView1.Items.Add(Itm2);
TeDummyID.Text = "";
GrandCalc();
SalesClear();
}
TeSno.Text = string.Empty;
}

推荐答案

public void LoadSNo()
      {
          if (CheckListViewItems() == true)
          {
              Double Slno = 0;
              if (listView1.Items.Count > 0)
              {

                  foreach (ListViewItem Itm in listView1.Items)
                  {
                      if (Itm.SubItems[0].Text != "")
                      {
                          Slno = Convert.ToDouble(Itm.SubItems[0].Text);
                      }
                      else
                      {
                          Slno = 0;
                      }
                      Slno = Slno + 1;
                  }

                  ListViewItem Itm1;
                  if (TeSno.Text != "")
                  {
                      Itm1 = new ListViewItem(TeSno.Text);
                  }
                  else
                  {
                      Itm1 = new ListViewItem(Slno.ToString());
                  }
                  Itm1.SubItems.Add(ICBItemCode.Text);
                  Itm1.SubItems.Add(ICBItemName.Text);
                  Itm1.SubItems.Add(ICBColor.Text);
                  Itm1.SubItems.Add(TeSize.Text);
                  Itm1.SubItems.Add(CBEUnit.Text);
                  Itm1.SubItems.Add(TEQuantity.Text);
                  Itm1.SubItems.Add(TEMRP.Text);
                  Itm1.SubItems.Add(TETotal.Text);
                  Itm1.SubItems.Add(TeDummyID.Text);
                  Itm1.SubItems.Add(TeCategories.Text);
                  listView1.Items.Add(Itm1);
                  TeDummyID.Text = "";
                  GrandCalc();
                  SalesClear();
                  return;
              }

              else
              {
                  ListViewItem Itm2 = new ListViewItem("1");
                  Itm2.SubItems.Add(ICBItemCode.Text);
                  Itm2.SubItems.Add(ICBItemName.Text);
                  Itm2.SubItems.Add(ICBColor.Text);
                  Itm2.SubItems.Add(TeSize.Text);
                  Itm2.SubItems.Add(CBEUnit.Text);
                  Itm2.SubItems.Add(TEQuantity.Text);
                  Itm2.SubItems.Add(TEMRP.Text);
                  Itm2.SubItems.Add(TETotal.Text);
                  Itm2.SubItems.Add(TeDummyID.Text);
                  Itm2.SubItems.Add(TeCategories.Text);
                  listView1.Items.Add(Itm2);
                  TeDummyID.Text = "";
                  GrandCalc();
                  SalesClear();
              }
              TeSno.Text = string.Empty;
              listView1.Sort();
              listView1.Refresh();
              listView1.Update();
          }
          else
          {
              MessageBox.Show("Item Already Exit", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
              ICBItemCode.Focus();
          }
      }


如果您的序列号是列表视图的行号

然后在dataitem中使用tag



<%#Container.DataItemIndex + 1%>



然后将提供行号1,2,3等......



并在删除后更新或在排序后保持维持
if your serial number is row number of list view
then use tag in dataitem as

<%# Container.DataItemIndex + 1% >

then will provide row number 1,2,3 so on ...

and updated according after delete or remain maintained after sorting


这篇关于如何在C#2010中自动生成和更新listView序列号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆