我要实现的功能:修改数据:
我的设计思路:我首先显示一个数据集,然后点击编号列的编号字段,然后以模态窗口形式弹出一个编辑窗口,新窗口中输入数据后,点击确认,保存数据,关闭新窗口。
我现在的做法:使用超链接方式。具体如下
问题1
我的代码
<Columns>
<asp:HyperLinkColumn 
    HeaderText="名称" DataNavigateUrlField="IT编号"   DataNavigateUrlFormatString="javascript:var win=window.open('viewzch.aspx?itbh={0}',null,'width=700,height=570');window.Close();"
DataTextField="IT编号" 
DataTextFormatString="{0:c}" 
Target="_blank" />
</Columns>
不知道为什么给我显示两个窗口,一个是我要的正确的窗口,一个是错误的窗口。我不想要错误的窗口
是否这里可以使用window.showmodal显示个模态窗口?如果可以,具体怎么写代码?问题2
当绑定了链接列后,显示的结果有两列是重复的。即:“IT编号”列,一个是可以链接的,另一个是我查询出的一列。
如何隐藏我原有的一列数据呢?
我执行的查询语句:
select * from dbo.Zichzl
Dim con As SqlConnection = New SqlConnection(ConfigurationSettings.AppSettings("strconn"))
Dim strsql As String
strsql = "select itbh as it编号,sheb as 名称 from zhiyzl "
Dim ds As New DataSet
Dim sqlAdapter As SqlDataAdapter
sqlAdapter = New SqlDataAdapter(strsql, con)
sqlAdapter.Fill(ds, "Sitezl")
DataGrid1.DataSource = ds.Tables("zhiyzl").DefaultView
DataGrid1.DataBind()
con.Close()
我是这样绑定到datagird上的

解决方案 »

  1.   

    我给个例子给你,使用模板列的
    <asp:datagrid id="zhigonglist" runat="server" PageSize="20" BackColor="Silver" BorderWidth="1px"
    BorderColor="#999999" BorderStyle="None" AllowPaging="True" Height="222px" GridLines="Vertical"
    CellPadding="3" AutoGenerateColumns="False" Font-Size="Smaller" Width="660px" HorizontalAlign="Center">
    <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="Gainsboro"></AlternatingItemStyle>
    <ItemStyle ForeColor="Black" BackColor="#EEEEEE"></ItemStyle>
    <HeaderStyle Font-Bold="True" Wrap="False" HorizontalAlign="Center" ForeColor="White" BackColor="#000084"></HeaderStyle>
    <FooterStyle Wrap="False" ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
    <Columns>
    <asp:BoundColumn Visible="False" DataField="id" HeaderText="ID"></asp:BoundColumn>

    <asp:TemplateColumn HeaderText="姓名">
    <HeaderStyle HorizontalAlign="Center" Width="60px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <ItemTemplate>
    <asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.name") %>' NavigateUrl='<%# "showzhigong.aspx?id=" + DataBinder.Eval(Container, "DataItem.id") %>' ID="Hyperlink1">
    </asp:HyperLink>
    </ItemTemplate>
    <FooterStyle HorizontalAlign="Center"></FooterStyle>
    </asp:TemplateColumn>

    </asp:BoundColumn>
    <asp:BoundColumn DataField="bumen" HeaderText="部门">
    <HeaderStyle HorizontalAlign="Center" Width="100px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <FooterStyle HorizontalAlign="Center"></FooterStyle>
    </asp:BoundColumn>

    <ItemStyle HorizontalAlign="Center"></ItemStyle>
    <FooterStyle HorizontalAlign="Center"></FooterStyle>
    </asp:BoundColumn>
    </Columns>
    <PagerStyle NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Center" ForeColor="Black"
    BackColor="#999999" Wrap="False"></PagerStyle>
    </asp:datagrid>
    id列为隐藏,姓名列为模板列。
    连接页面接收代码为
    int id = Convert.ToInt32(Request.QueryString["id"]);