可以动态创建http://www.datawebcontrols.com/Articles/Goto.aspx?ID=18
解决方案 »
- web网站,经VS2010升级后,在IIS6.0下面运行错误
- 自定义了MembershipProvider,如何调用扩展(重载)方法?
- 很简单的取xml结点属性值的问题
- 低级抢分问题
- DataGrid事件还是不响应,马上给分
- 怎么为DataGrid的子控件写事件
- 高手指点: WEB页内,执行本地程序或下载(对应的程序未安装,则下载)
- 如何通过ADO连接DATAGIRD
- 写了一个httpmodule的扩展
- 为什么打开cshtml马上弹出对话框"failed!"? 我要点击“添加"按钮才执行代码。
- 请教版主:如何在C#里用键盘CTRL+ENTER触发一个按钮的事件
- 在ASP.Net中如何在一个页面中弹出另一个页面
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<html>
<script runat="server">
Public dim MyName,HisName as string
Sub Page_Load(Sender As Object, E As EventArgs)
MyName="admin"
HisName="nhonline"
Dim MyConnection as OleDbConnection = New OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\inetpub\wwwroot\nhonline\datagrid\kk.mdb") Dim myCommand As OleDbCommand = new OleDbCommand("Select * From board", myConnection)
Dim myDataReader As OleDbDataReader Try
myConnection.Open() 'myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
myDataReader = myCommand.ExecuteReader
myDataGrid.DataSource = myDataReader
myDataGrid.DataBind()
Catch myException As Exception
Response.Write("An error has occurred: " & myException.ToString())
Finally
If Not myDataReader Is Nothing Then
myDataReader.Close()
End If
End Try
End SubSub HideShow_Click(Sender As Object, E As EventArgs)
If myDataGrid.Columns(0).Visible = False Then
myDataGrid.Columns(0).Visible = True
Else
myDataGrid.Columns(0).Visible = False
End If
End Sub
</script>
<body>
<form runat="server">
<asp:Button id="HideShow" Text="Hide/Show" OnClick="HideShow_Click" runat="server" /> <A HREF="datagrid_hidecolumn_2.aspx?name=<%=Myname%>">MyName=admin</A> <A HREF="datagrid_hidecolumn_2.aspx?name=<%=Hisname%>">HisName=nhonline</A><BR><hr color=red>
<asp:DataGrid id="myDataGrid" Width="25%" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateColumn HeaderText="Board_ID">
<ItemTemplate>
<span><%# Container.DataItem("boardid") %></span>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="boardtype">
<ItemTemplate>
<span><%# Container.DataItem("boardtype") %></span>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="class">
<ItemTemplate>
<span><%# Container.DataItem("class") %></span>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="readme">
<ItemTemplate>
<span><%# Container.DataItem("readme") %></span>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="boardmaster">
<ItemTemplate>
<span><%# Container.DataItem("boardmaster") %></span>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
</body>
</html>
if (e.Item.ItemIndex >= 0 && e.Item.DataItem is DataRowView)
{
if (((DataRowView)e.Item.DataItem)["ContestId2"].ToString()=="")
{
e.Item.Cells[1].Visible = false;
}
}
意思就是竞赛编号为空的话,第二个模板列隐藏
if (e.Item.ItemIndex >= 0 && e.Item.DataItem is DataRowView)
这句是必须的