在Gridview中自己定义了columns的列名
<asp:BoundField HeaderText="事项" DataField="事项" />
<asp:BoundField HeaderText="金额" DataField="金额" />
<asp:BoundField HeaderText="日期" DataField="日期" />
<asp:BoundField DataField="备注" HeaderText="备注" />
可是读取数据的时候却重复读了,是什么原因?
在后台我是自己调用sql语句进行查询的,
sql = " select use_name as 事项, use_num as 金额,to_char(use_date,'yyyy-mm-dd') as 日期,res as 备注 from pocket_inf";Gridview1.DataSource = dt;//dt为读出来的datatable;
Gridview.DataBind();
和这个有关系吗?
该如何改呢???
急 ,在线等。
<asp:BoundField HeaderText="事项" DataField="事项" />
<asp:BoundField HeaderText="金额" DataField="金额" />
<asp:BoundField HeaderText="日期" DataField="日期" />
<asp:BoundField DataField="备注" HeaderText="备注" />
可是读取数据的时候却重复读了,是什么原因?
在后台我是自己调用sql语句进行查询的,
sql = " select use_name as 事项, use_num as 金额,to_char(use_date,'yyyy-mm-dd') as 日期,res as 备注 from pocket_inf";Gridview1.DataSource = dt;//dt为读出来的datatable;
Gridview.DataBind();
和这个有关系吗?
该如何改呢???
急 ,在线等。
保证你数据库中的数据不是重复的
OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
DataTable dt = new DataTable();
sql = " select use_name as 事项, use_num as 金额,to_char(use_date,'yyyy-mm-dd') as 日期,res as 备注 from pocket_inf";
OracleDataAdapter oda = new OracleDataAdapter(sql, conn);
oda.Fill(dt);
if (dt.Rows.Count > 0)
{
// dg_approval.DataKeyNames= "id";
//dg_approval.DataKeyField = "id";
dg_approval.DataSource = dt;
dg_approval.DataBind();
}不知道这样贴算不算一个完整的读数过程,如果单独这样的话
<asp:GridView ID="GridView" DataKeyNames ="事项" runat="server">
</asp:GridView>就可以直接读一遍了
select use_name as 事项, use_num as 金额,to_char(use_date,'yyyy-mm-dd') as 日期,res as 备注 from pocket_inf
有没有重复值
if(!ispostback)binddata();
说的真对,你的代码该不会写在了if(!IsPostBack)外面吧
有没有放在 if(!IsPostBack){...}