C# 如何在移动到datalist2后禁用datalist1中的映像?
我有2个数据列表和2个btn向上和向下,我正在尝试将所选图像从一个数据列表移动到另一个数据列表 数据列表1:C# 如何在移动到datalist2后禁用datalist1中的映像?,c#,asp.net,datalist,C#,Asp.net,Datalist,我有2个数据列表和2个btn向上和向下,我正在尝试将所选图像从一个数据列表移动到另一个数据列表 数据列表1: <asp:DataList ID="dlstImage" runat="server" RepeatDirection="Horizontal" RepeatColumns="5" CellSpacing="8" > <ItemTemplate> <asp:Imag
<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>
按钮:
<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" />
数据列表2:
<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>
按钮按下代码:
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();
ArrayList ImgArry=new ArrayList();
path=objGetBaseCase.GetImages(TotImgIds);
ImgArry.Add(SelImgId);
ImgArry.Add(SelImgpath)//图像名称
ImgArry.Add(SelImgName)//图像路径
//移除路径(ImgArry);
列表t=新列表();
如果(newpath.Count>0)
t=新路径;
t、 添加(ImgArry);
newpath=t;
for(int i=0;i
我正在从datalist1选择一个图像并传输到datalist2,我能够将图像从一个datalist移动到另一个datalist,但我想要的是当我移动图像时,然后是datalist1图像,我移动该图像的任何图像在移动到datalist2后在datalist1中被禁用,如何操作,如何在移动到datalist2后禁用datalist1中的映像。您可能需要在适当的时间调用DataBind()方法,这是在加载两个单独的数组之后 DataList1.DataBind(); DataList2.DataBind() 如果我没弄错的话,那就行了
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 = "";
}
}