how to disable the image in datalist1 after move to datalist2?
I have 2 datalist and 2 btn UP and Down, I am trying to move the selected Image from one datalist to other datalist.
Datalist1:
<asp:DataList ID="dlstImage" runat="server" RepeatDirection="Horizontal" RepeatColumns="5"
CellSpacing="8" >
<ItemTemplate>
<asp:ImageButton ID="Image" runat="server" ImageUrl='<%#"~/Controls/ShowImage.ashx?FileName=" +DataBinder.Eval(Container.DataItem, "FilePath") %>'
OnCommand="Select_Command" CommandArgument='<%# Eval("Id").ToString() +";"+Eval("FilePath")+";"+Eval("Index")+";"+Eval("FileName") %>' /><br />
<asp:Label ID="lbl" runat="server" Text="Figure"></asp:Label><%# dlstImage.Items.Count + 1%>
</ItemTemplate>
</asp:DataList>
Button:
<asp:ImageButton ID="ibtnMoveDown" runat="server" ImageUrl="~/App_Themes/Default/Images/movedown.bmp"
ToolTip="MoveDown The Item" OnClick="ibtnMoveDown_Click" />
<asp:ImageButton ID="ibtnMoveUp" runat="server" ImageUrl="~/App_Themes/Default/Images/moveup.bmp"
Style="height: 16px" ToolTip="MoveUp The Item" />
Datalist2:
<asp:DataList ID="dlstSelectedImages" runat="server" RepeatDirection="Horizontal"
RepeatColumns="5" CellSpacing="8">
<ItemTemplate>
<asp:ImageButton ID="Image" runat="server" ImageUrl='<%#"~/Controls/ShowImage.ashx?FileName=" +DataBinder.Eval(Container.DataItem, "FilePath") %>'
OnCommand="ImageSelect_Command" CommandArgument='<%# 开发者_运维问答Eval("Id").ToString() +";"+Eval("FilePath")+";"+Eval("Index")+";"+Eval("FileName") %>' /><br />
<asp:Label ID="nlbl" runat="server" Text="Figure"></asp:Label><%# dlstSelectedImages.Items.Count + 1%>
</ItemTemplate>
</asp:DataList>
Button Down code:
ArrayList ImgArry = new ArrayList();
path = objGetBaseCase.GetImages(TotImgIds);
ImgArry.Add(SelImgId);
ImgArry.Add(SelImgpath);//image name
ImgArry.Add(SelImgName);//image path
//path.Remove(ImgArry);
List<ArrayList> t = new List<ArrayList>();
if (newpath.Count > 0)
t = newpath;
t.Add(ImgArry);
newpath = t;
for (int i = 0; i < newpath.Count; i++)
{
ArrayList alst = newpath[i];
newtb.Rows.Add(Convert.ToInt32(alst[0]), alst[1].ToString(), alst[2].ToString(), i);
}
dlstSelectedImages.DataSource = newtb;
DataBind();
path = objGetBaseCase.GetImages(TotImgIds);
for (int i = 0; i < path.Count; i++)
{
ArrayList alst = path[i];
tb.Rows.Add(Convert.ToInt32(alst[0]), alst[1].ToString(), alst[2].ToString(), i);
}
dlstImage.DataSource = tb;
DataBind();
I am selecting a image from datalist1 and transferring to datalist2, I am able to move the Image from one datalist to other datalist, But what I want is when I am moving the Image then Datalist1 Image which ever image I am moving that image get disable in Datalist1 after moving to datalist2, How to do that, how to disable the image in datalist1 after move to datalist2.
you probably jus need to call the DataBind() method at the proper time, which is after loading the two separate arrays like this
DataList1.DataBind(); DataList2.DataBind();
that should work fine if i am getting you correctly
protected void dlstImage_ItemDataBound(object sender, DataListItemEventArgs e)// for disabling the image after moving
{
ImageButton imgctrl = (e.Item.FindControl("Image") as ImageButton);
string[] str = imgctrl.CommandArgument.ToString().Split(';');
SelImgId = Convert.ToInt32(str[0]);
if (newpath.Exists(delegate(ArrayList imageDetails) { return Convert.ToInt32(imageDetails[0]) == SelImgId; }))
{
imgctrl.Enabled = false;
imgctrl.CssClass = "tdDisable";
}
else
{
imgctrl.Enabled = true;
imgctrl.CssClass = "";
}
}
精彩评论