当前位置:编程学习 > C#/ASP.NET >>

ASPxGridView中的控件获取问题

前端代码:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register assembly="DevExpress.Web.ASPxGridView.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" namespace="DevExpress.Web.ASPxGridView" tagprefix="dxwgv" %>
<%@ Register assembly="DevExpress.Web.ASPxEditors.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" namespace="DevExpress.Web.ASPxEditors" tagprefix="dxe" %>

<%@ Register assembly="DevExpress.Web.v8.1, Version=8.1.3.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1" namespace="DevExpress.Web.ASPxPanel" tagprefix="dxp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" 
            AutoGenerateColumns="False" Width="528px" 
            onrowdeleting="ASPxGridView1_RowDeleting">
            <Settings ShowGroupPanel="True" />
            <Columns>
                <dxwgv:GridViewCommandColumn Caption="编辑" VisibleIndex="0">
                    <EditButton Text="更新" Visible="True">
                    </EditButton>
                    <DeleteButton Text="删除" Visible="True">
                    </DeleteButton>
                    <SelectButton Text="查看" Visible="True">
                    </SelectButton>
                </dxwgv:GridViewCommandColumn>
                <dxwgv:GridViewDataTextColumn Caption="学号" FieldName="StudentID" 
                    VisibleIndex="1">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="姓名" FieldName="Name" VisibleIndex="2">
                </dxwgv:GridViewDataTextColumn>
                <dxwgv:GridViewDataTextColumn Caption="宿舍楼" FieldName="DormitoryBuildingName" 
                    Name="ssl" VisibleIndex="3">
                    <EditItemTemplate>
                        <dxe:ASPxComboBox ID="ASPxComboBox1" runat="server" ValueType="System.String">
                            <Items>
                                <dxe:ListEditItem Text="1" Value="1" />
                                <dxe:ListEditItem Text="2" Value="2" />
                                <dxe:ListEditItem Text="3" Value="3" />
                                <dxe:ListEditItem Text="4" Value="4" />
                            </Items>
                        </dxe:ASPxComboBox>
                    </EditItemTemplate>
                </dxwgv:GridViewDataTextColumn>
            </Columns>
        </dxwgv:ASPxGridView>
    
    </div>
    </form>
</body>
</html>

后端代码:
ASPxComboBox aSPxComboBox4 = ASPxGridView1.FindRowCellTemplateControl(1, (GridViewDataColumn)ASPxGridView1.Columns["ssl"], "ASPxComboBox1") as ASPxComboBox;

ASPxComboBox aSPxComboBox5 = (ASPxComboBox)ASPxGridView1.Columns[3].Grid.FindControl("ASPxComboBox1");
ASPxComboBox aSPxComboBox3 = (ASPxComboBox)ASPxGridView1.FindEditFormTemplateControl("ASPxComboBox1");

ASPxComboBox aSPxComboBox = (ASPxComboBox)ASPxGridView1.Columns[1].Grid.FindEditFormTemplateControl("ASPxComboBox1");
ASPxComboBox aSPxComboBox1 = (ASPxComboBox)ASPxGridView1.Columns[2].Grid.FindEditFormTemplateControl("ASPxComboBox1");
ASPxComboBox aSPxComboBox2 = (ASPxComboBox)ASPxGridView1.Columns[3].Grid.FindEditFormTemplateControl("ASPxComboBox1");

以上方法都无法获取ASPxComboBox1控件,返回值均为null。

各位大虾帮帮忙吧! --------------------编程问答-------------------- 你的 ASPxComboBox 是在编辑模式下的 

还有,根据行 去 FindControl --------------------编程问答-------------------- 不明白。。路过。。 --------------------编程问答--------------------
引用 1 楼 sandy945 的回复:
你的 ASPxComboBox 是在编辑模式下的 

还有,根据行 去 FindControl

能说的具体点儿吗 --------------------编程问答-------------------- (ASPxComboBox)ASPxGridView1.Rows[3]cell[].FindControl("ASPxComboBox1");
--------------------编程问答-------------------- 忘了,学习。 --------------------编程问答-------------------- --------------------编程问答-------------------- 学无止境!学海无崖!学习中! --------------------编程问答-------------------- 忘了怎么弄了。。。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 直接获取Control就行了,为什么通过模版的形式来获取! --------------------编程问答--------------------
引用 4 楼  的回复:
(ASPxComboBox)ASPxGridView1.Rows[3]cell[].FindControl("ASPxComboBox1");
  你这不是瞎搞么  你要是能用aspxgridview1点出rows这个属性来我算你厉害 --------------------编程问答-------------------- 怎么解决啊 LZ   我现在也遇到此问题了 能不能给我说方法
--------------------编程问答--------------------  在事件ASPxGridView1_HtmlRowCreated中,
if (e.VisibleIndex > -1)
{
        LinkButton lbtnContents = ASPxGridView1.FindRowCellTemplateControl(e.VisibleIndex, null, "lbtnContents") as LinkButton; //查找控件
         //处理逻辑
         .....
} --------------------编程问答-------------------- http://blog.csdn.net/xianfajushi/article/details/3413317
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,