2010-05-13 51 views
0

我有一个网格表示网格1,其中有一些列。有一个视图图像按钮,一个删除图像按钮和一列表示颜色列是红色或蓝色。在GridView中获取ID

如果颜色栏为红色,则删除的按钮被隐藏,否则显示(根据用户授予删除列的权限)。

现在用户单击红色列的查看按钮。如果满足这个条件,那么我希望删除图标不应该出现在网格2中。

网格2有2列。一个是删除图像按钮,另一个是文件名(通过上传控件上传)。

所以如果在格栅上的“查看图像按钮”点击“red”的专栏中,我应该能够从电网2

隐藏删除按钮我已经在项目命令编写代码试过,但我无法访问grid2的控件。这是正确的方法吗?否则,建议我一些正确的方法。

请确保代码是2003 VS

让我知道,如果需要更多的输入兼容。

感谢

回答

0

grid2.Rows[<index>].Cells[<index>].FindControl("")应该工作,所提供的网格绑定数据。

编辑:在用户控件代码隐藏,你可以暴露格为:

public DataGrid Grid 
{ 
    get { return this.<gridID>; } 
} 

,然后在页面代码隐藏,使用下面的访问网格:

public class SomePage : Page 
{ 
    .. OnInit(..) 
    { 
     this.uc1.Grid.<props/methods> 
    } 
} 

无论你需要做什么。你甚至可以附加到网格的事件。

+0

我在哪里写这个代码?在网格1项目命令或在网格2项目命令或某些地方?另外如果他们在2个不同的用户控制页面中,你如何访问任何网格的控制权?网格在相同的.aspx页面btw。>>> – 2010-05-13 17:36:47

+1

在你想访问网格2的对象的位置......你的文章似乎在grid1 itemcommand事件中。我没有看到有关用户控件的文章中的任何内容......如果它们位于同一页面上的单独用户控件中,则可以在用户控件(公共属性Grid作为GridView)中拥有一个公共属性,然后引用你需要访问的用户控件,如在uc1.Grid.Rows [] .Cells [] .FindControl(“”) – 2010-05-13 19:11:59

+0

我正在写你的代码,但我面临错误说 行不是DataGrid的成员.. 。我想这是DataGrid,而不是网格视图 – 2010-05-14 06:09:38