GridView自适应列宽 gridview空值更新问题和插入按钮问题~~

来源:互联网  时间:2016/7/1 11:43:07

关于网友提出的“GridView自适应列宽 gridview空值更新问题和插入按钮问题~~”问题疑问,本网通过在网上对“GridView自适应列宽 gridview空值更新问题和插入按钮问题~~”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:GridView自适应列宽 gridview空值更新问题和插入按钮问题~~
描述:

这个是gridview的设计代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="yttdj.aspx.cs" Inherits="yttdj" %>



    
    
        .style1
        {
            font-family: 楷体_GB2312;
            font-size: xx-large;
            background-color: #66FFCC;
        }
        .style2
        {
            text-align: center;
        }
    


    
    
    
        
            
                
                
                绒山羊淘汰登记表
                
            


            <>
                AllowSorting="True" AutoGenerateColumns="False" BackColor="#DEBA84" 
                BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" 
                CellSpacing="2" DataKeyNames="yhao" DataSourceID="SqlDataSourceytt" 
                Height="301px" PageSize="15" Width="546px" 
                 />                 
                                             SortExpression="yhao" />
                    
                    <>
                        SortExpression="lichang" />
                    
                    
                    
                    
                    
                

                
                    <>
                        DataKeyNames="yhao" DataSourceID="SqlDataSourceytt" Height="50px" Width="125px">
                        
                                                             SortExpression="yhao" />
                            
                            <>
                                SortExpression="lichang" />
                            <>
                                SortExpression="lidate" />
                            
                        

                    
                

                
                
                
                
                
                
                
                
                
            
        

        <>
            C />             C />             DeleteCommand="DELETE FROM [yxinxi] WHERE [yhao] = @original_yhao AND (([ysex] = @original_ysex) OR ([ysex] IS NULL AND @original_ysex IS NULL)) AND (([lichang] = @original_lichang) OR ([lichang] IS NULL AND @original_lichang IS NULL)) AND (([lidate] = @original_lidate) OR ([lidate] IS NULL AND @original_lidate IS NULL))" 
            InsertCommand="INSERT INTO [yxinxi] ([yhao], [ysex], [lichang], [lidate]) VALUES (@yhao, @ysex, @lichang, @lidate)" 
            OldValuesParameterFormatString="original_{0}" 
            SelectCommand="SELECT [yhao], [ysex], [lichang], [lidate] FROM [yxinxi]" 
            UpdateCommand="UPDATE [yxinxi] SET [ysex] = @ysex, [lichang] = @lichang, [lidate] = @lidate WHERE [yhao] = @original_yhao AND (([ysex] = @original_ysex) OR ([ysex] IS NULL AND @original_ysex IS NULL)) AND (([lichang] = @original_lichang) OR ([lichang] IS NULL AND @original_lichang IS NULL)) AND (([lidate] = @original_lidate) OR ([lidate] IS NULL AND @original_lidate IS NULL))">
            
                
                
                
                
            

            
                
                
                
                
            

            
                
                
                
                
                
                
                
            

        
        
            <>
                />
            
            
        
    
    
    


据说是可以用where 语句可以解决空值更新问题,那么对于我这段代码该怎么改呢?
还有就是 我用的是VS2010的环境,gridview里边没有“插入”这个选项,只有“编辑,删除,更新选择等”,而且删除好像还不起作用,是怎么回事啊,大家知道的请指教一下啊~~急急急~~~~

解决方案1:

插入不好实现,要么试试级联更新?
空值更新好解决,
在更新出 where选项 之选定 主键 或者唯一判断一条数据的那个字段就可以 ,把含有NULL的都删掉

解决方案2:

接上
 //每页显示的记录数
 private int PageItem = 10;
 private void BuildPagers(int TotalCountRecord, int CurrentPage)
 {
   int Step = 6;
   int LeftNum = 0;
   int RightNum = 0;
   String PageUrl = "?";
   int PageCount = (int)Math.Ceiling((double)(TotalCountRecord) / PageItem);
     
   if (CurrentPage - Step < 1)
   {
     LeftNum = 1;
   }
   else
   {
     LeftNum = CurrentPage - Step;
   }
 
  if (CurrentPage + Step > PageCount)
   {
     RightNum = PageCount;
   }
   else
   {
     RightNum = CurrentPage + Step;
   }
   string OutPut = "";
   for (int i = LeftNum; i <= RightNum; i++)
   {
     if (i == CurrentPage)
     {
       OutPut += "" + i.ToString() + " ";
     }
     else
     {
       OutPut += "" + i.ToString() + " ";
     }
   }
   if (CurrentPage > 1)
   {
     OutPut = "首页  上一页 " + OutPut;
   }
 
  if (CurrentPage < PageCount)
   {
     OutPut += " 下一页 末页";
   }
   Pager.InnerHtml = OutPut;
 }
 
/// 


 /// 加载页面
 /// 

 /// 
 /// 
 protected void Page_Load(object sender, EventArgs e)
 {
   if (!Page.IsPostBack)
   {
     DataBind();
   }
 }
   
 /// 
 /// 绑定 GridView
 /// 

 protected void DataBind()
 {
   OleDbCommand cmd;
   String sql;
   OleDbConnection cn = new OleDbConnection(ConnectionString);
   cn.Open();
   // 由于是 Access 数据库,我们只进行简单的分页。对于性能要求较高的地方,请自行采取其他方法。
   sql = "SELECT COUNT(*) FROM [Student]";
   cmd = new OleDbCommand(sql, cn);
     
   // 总的记录数
   int TotalCount = Convert.ToInt32(cmd.ExecuteScalar());
   //当前页的序号
   int PageIndex = 1;
   String page = Request.QueryString["Page"];
   if (page == null) page = "1";
   Int32.TryParse(page, out PageIndex);
   if (PageIndex < 1) PageIndex = 1;
   int PageCount = (int)Math.Ceiling((double)(TotalCount) / PageItem);
   if (PageIndex > PageCount) PageIndex = PageCount;
     
   int startRecord = (PageIndex - 1) * PageItem;
 
  sql = "SELECT * FROM [Student] ORDER BY [id] DESC";    
   
   OleDbDataAdapter da = new OleDbDataAdapter(sql, cn);
   DataSet ds = new DataSet();
   da.Fill(ds, startRecord, PageItem, "Student");
 
  GridView1.DataSource = ds.Tables[0].DefaultView;
   GridView1.DataBind();
   cn.Close();
   BuildPagers(TotalCount, PageIndex);
 
}
 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
 
 GridView 插入、删除、修改的例子
 
 
 
 <>
    />    
   
     
       
         
           <%#Eval("Title") %>
         ' visible="false">
       
' visible="false">

       
         
       

     
     
       
         
           <%#Eval("BirthDay", "{0:yyyy-MM-dd}")%>
         <>
           Visible="false" />
       

       
         
       

     
     
       
         
           <%#(Eval("Gender")).ToString() =="True"?"男":"女"%>
         
           
           
         
       

       
         
           
           
         
       

     
     
       
         
           <%#Eval("ClassName")%>
         
           
           
           
           
         
       

       
         
           
           
           
           
         
       

     
     
       
         
           <%# GetUserPhoto(Eval("PhotoPath")) %>
         
       

       
         
       

     
     
       
         
           
           
         
         
           
           
         
       

       
         
       

     
   

   
     
       
         姓名
         生日(yyyy-MM-dd格式)
         性别
         年级
         照片
         操作
       
       
         
           
         

         
           
         

         
           
             
             
           
         

         
           
             
             
             
             
           
         

         
           
         
         
           
         
       
     
   

 
 
 
 
 

 

解决方案3:

更新的时候你需要判断是否是空值。另外数据库字段也可以设置是否允许空值

上一篇怎么安装IIS6啊
下一篇Sql Server关不了,一关就提示错误信息
明星图片
相关文章
《GridView自适应列宽 gridview空值更新问题和插入按钮问题~~》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)