本帖最后由 cnbol 于 2009-08-24 11:06:06 编辑

解决方案 »

  1.   

    你先自己用代码创建一个表
    然后定义好表里面的列  再从数据库提取出数据放到该表里面(你自己定义的表的列要和数据库的一样)
    在用你自己定义的表作为datalist的数据源 
    写几个判断 你就可以随意的编辑数据了 
      

  2.   


        <asp:GridView ID="grdArticle" runat="server"   width="100%" DataKeyNames="Authorid" 
           EmptyDataText="没有数据" AllowPaging="True" AutoGenerateColumns="False"
           BorderColor="#336699" BorderStyle="Solid" BorderWidth="1px" Font-Size="12pt" PageSize="15" >
           <Columns>
           <asp:TemplateField HeaderText="文章ID">
           <ItemTemplate>
           <asp:TextBox ID="txtID" runat="server" Text='<%#Eval("ID") %>'></asp:TextBox>
           </ItemTemplate>
           </asp:TemplateField>
           <asp:TemplateField HeaderText="作者ID">
           <ItemTemplate>
           <asp:TextBox ID="txtAuthorID" runat="server" Text='<%#Eval("AuthorID") %>'></asp:TextBox>
           </ItemTemplate>
           </asp:TemplateField>
           <asp:TemplateField HeaderText="文章标题">
           <ItemTemplate>
           <asp:TextBox ID="txtTitle" runat="server" Text='<%#Eval("Title") %>'></asp:TextBox>
           </ItemTemplate>
           </asp:TemplateField>
           <asp:TemplateField HeaderText="日期">
           <ItemTemplate>
           <asp:TextBox ID="txtDate" runat="server" Text='<%#Eval("pubDate") %>'></asp:TextBox>
           </ItemTemplate>     
           </asp:TemplateField>
           <asp:TemplateField HeaderText="点击率">
           <ItemTemplate>
           <asp:TextBox ID="txtClicks" runat="server" Text='<%#Eval("Clicks") %>'></asp:TextBox>
           </ItemTemplate>       
           </asp:TemplateField>
           </Columns>
           </asp:GridView>DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            DataRow dr;
            ds = csdn.GetList("Articles", "top 15 convert(varchar(3),Id) Id,convert(varchar(3),AuthorId) AuthorId,Title,contents,convert(varchar(20),pubdate,120) pubdate,convert(varchar(4),clicks) clicks", "");
            if (ds != null)
            {
                if (ds.Tables[0].Rows.Count != 0)
                {
                    dt = ds.Tables[0];
                    while (dt.Rows.Count < 15)
                    {
                        dr = dt.NewRow();
                        dr["Id"] = "";
                        dr["AuthorId"] = "";
                        dr["Title"] = "";
                        dr["contents"] = "";
                        dr["pubdate"] = "";
                        dr["clicks"] = "";
                        dt.Rows.Add(dr);
                    }
                    grdArticle.DataSource = dt;
                    grdArticle.DataBind();
                }
            }
      

  3.   


            /// <summary>
            /// 获得数据列表
            /// </summary>
            /// <param name="TableName">数据表</param>
            /// <param name="field">选择的字段</param>
            /// <param name="where">选择的条件</param>
            /// <returns>DataSet</returns>
            public DataSet GetList(string TableName, string field, string where)
            {
                string sql = "";
                if (field != "")
                {
                    sql += "select " + field + " from " + TableName;
                }
                else
                {
                    sql += "select * from " + TableName;
                }
                if (where != "")
                {
                    //sql += " where " + where;
                    sql += where;
                }
                DataSet ds = GetDataSet(sql);
                return ds;
            }