Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound If e.Item.ItemIndex = -1 Then
Else
Dim a As Label
a = e.Item.FindControl("l1")
Dim k As DataList
k = e.Item.FindControl("datalist1")
Dim cn As New OleDbConnection(Application("heli"))
Dim cm As New OleDbDataAdapter("select * from main where sort='" & a.Text & "' order by id desc", cn)
Dim ds As New DataSet()
cm.Fill(ds, "n1e")
k.DataSource = ds.Tables("n1e").DefaultView
k.DataBind()
'Response.Write(a.Text)
End If
End Sub
解决方案 »
- 从数据库中取不出来数据,急急急
- ASP.NET
- “警告:程序集绑定日志记录被关闭”,如何打开?
- 从responseText中取值
- 菜鸟又有问题了是关于server2000与asp.net的删除的一个小问题;来者有分!!!!
- ORA-02041:客户数据库未开始一个事务处理 问题
- TemplateField如何在后台取道值
- 這樣的字符串"http://www.163.com/wwwimages/n/163logo.gif",怎樣取得"163logo.gif"出來呀?
- *** 《关于ASP.NET开发webOA的大讨论》 *** (总共贡献300分)
- 急求各位帮助,不然我回不了家过年55555
- 各位大侠,有谁碰到这样的问题,帮忙看一下原因
- 关于listbox
orthis.mydatagrid.Item[i].Cell[i].Control[i]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>test</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout" bgColor="lavender">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 4px; POSITION: absolute; TOP: 14px" runat="server" AutoGenerateColumns="False" Width="100%">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<P>
<asp:Label id=l1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.sort") %>'>
</asp:Label></P>
<P>
<asp:DataList id="DataList1" runat="server" ShowHeader="False" RepeatColumns="5" Width="100%">
<ItemTemplate>
<asp:Label id="Labelt" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.sn") %>'>
</asp:Label>
</ItemTemplate>
</asp:DataList><BR>
</P>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id=TextBox1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.name") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid></FONT>
</form>
</body>
</HTML>
首先我用的是:
DropDownList myDropDownList=new DropDownList();
myDropDownList=e.Item.FindControl("ddlPubLevel");
编译时报错如下:
无法将类型“System.Web.UI.Control”隐式转换为“System.Web.UI.WebControls.DropDownList”
然后我是这样用的:
Control myDropDownList=e.Item.FindControl("ddlPubLevel");
this.TextBox1.Text =myDropDownList.ID.ToString();运行时报错如下:
未将对象引用设置到对象的实例。
this.TextBox1.Text =myDropDownList.ID.ToString();(这句)
请问是怎么回事?谢谢!
<%@ Page language="c#" Codebehind="WebDataGrid.aspx.cs" AutoEventWireup="false" Inherits="news.WebDataGrid" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebDataGrid</title>
<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="WebDataGrid" method="post" runat="server">
<FONT face="宋体">
<asp:datagrid id="dgNews" style="Z-INDEX: 101; LEFT: 23px; POSITION: absolute; TOP: 10px" runat="server" GridLines="None" Font-Names="宋体" Font-Size="9pt" AllowCustomPaging="True" AllowPaging="True" Width="645px" Height="253px" CellPadding="1" CellSpacing="1">
<HeaderStyle Font-Size="9pt" Font-Names="宋体" HorizontalAlign="Center" BackColor="#AAAADD"></HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="嵌入控件">
<ItemTemplate>
<asp:DropDownList id="ddlPubLevel" runat="server" Width="78px" Height="30px"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
<asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 236px; POSITION: absolute; TOP: 338px" runat="server" Width="107px" Height="29px"></asp:TextBox></FONT></form>
</body>
</HTML>
Sub dgNews_EditCommand(...)
dim drp as DropDownList = e.item.findconrol("ddlPubLevel")
'下面就可以控制drp了,用过很多次,应该没问题的
End Sub
sorry,代码是vb的,道理应该一样呀
private void dgNews_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
Control myDropDownList=e.Item.FindControl("ddlPubLevel");
if(myDropDownList!=null)
{
this.TextBox1.Text =myDropDownList.ID.ToString();
}
else
{
this.TextBox1.Text ="null";
}运行后始终为null。