I min övningsbok så finns ett exempel som skulle kunna vara kanon för en varukorg.Ej "dubbelpost" i datagrid
Man fylleren Datalist, och klickar man på den, så fylls en GridView upp med den posten.
Det finns hursomhelst några frågor om detta, men vi tar dem en och en.
Hur gör jag för att inte få samma post 2 ggr?
<code>
//databashanteringen ligger i BindToInventory();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = BindToInventory();
DataTable tableSelectedItems =
this.CreateSelectedItemsTable(dt);
Session["tableSelectedItems"] = tableSelectedItems;
}
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
int nItemIndex = e.Item.ItemIndex;
this.DataList1.SelectedIndex = nItemIndex;
BindToInventory();
DataTable dt = (DataTable)DataList1.DataSource;
String strId=(dt.Rows[nItemIndex][0]).ToString();
String strTitel =
(dt.Rows[nItemIndex][1]).ToString();
String strAuthorLastName =
(dt.Rows[nItemIndex][2]).ToString();
String strAuthorFirstName =
(dt.Rows[nItemIndex][3]).ToString();
String strstrTopic =
(dt.Rows[nItemIndex][4]).ToString();
String strPublicher =
(dt.Rows[nItemIndex][5]).ToString();
DataTable tableSelectedItems;
tableSelectedItems =
(DataTable)Session["tableSelectedItems"];
dr[0] = strId;
dr[1] = strTitel;
dr[2] = strAuthorLastName;
dr[3] = strAuthorFirstName;
dr[4] = strstrTopic;
dr[5] = strPublicher;
tableSelectedItems.Rows.Add(dr);
Session["tableSelectedItems"] = tableSelectedItems;
this.GridView1.DataSource = tableSelectedItems;
this.GridView1.DataBind();
}
</code>
Skall man kolla om posten finns i GridView eller i tableSelectedItems ?
Tacksam för svar.