【发布时间】:2009-12-15 13:32:10
【问题描述】:
我正在尝试制作一个小型网格视图,其中列出了针对非标准 SQL 数据库的查询结果,并且通过这些信息,我希望用户能够编辑一两列以更新数据库中的数据。我知道使用 sqldatasource 控件很容易做到这一点,但我缺乏这种奢侈,并且当我触发 gridview 的编辑事件时,我无法从 gridview 中的 itemTemplates 切换到 edittemplates。
任何指针?
一些代码:
<asp:GridView ID="ExamEditGridView" runat="server" OnRowEditing="EditExam" OnRowUpdating="SaveEdit"
DataKeyNames="iproc_code" AllowSorting="true" AutoGenerateColumns="false" AutoGenerateEditButton="true">
<HeaderStyle BackColor="#006633" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#999999" />
<Columns>
<asp:TemplateField HeaderText="Exam Title">
<ItemTemplate>
<asp:Label ID="col1" runat="server" Text='<%# Bind("rpt_descrip") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="EditText" runat="server" Text='<%# Bind("rpt_descrip") %>' Visible="false" />
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Short Description" DataField="short_descrip" />
<asp:BoundField HeaderText="Description" DataField="descrip" />
<asp:BoundField HeaderText="Sched Note" DataField="sched_note" />
</Columns>
</asp:GridView>
后面的代码: (查询只是一个简单的选择语句)
string mod_id = modSelect.SelectedValue;
string query = qry + mod_id;
using (OdbcConnection connection = new OdbcConnection(DbConnectionString))
{
OdbcDataAdapter adapter = new OdbcDataAdapter(query, connection);
DataTable dt = new DataTable();
connection.Open();
adapter.Fill(dt);
ExamEditGridView.DataSource = dt;
ExamEditGridView.DataBind();
}
当下拉列表索引更改时,gridview 是数据绑定的,这为我提供了查询的 mod_id
【问题讨论】:
-
你能展示你的数据绑定代码吗?