人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

如何給DataGrid添加雙題頭分類顯示

如何給DataGrid添加雙題頭分類顯示

更新時間:2022-07-29 文章作者:未知 信息來源:網絡 閱讀次數:


我在寫PowerDataGrid想到要提供一個查詢(有關PowerDataGrid的詳細信息參考CSDN論壇中的討論帖,源碼可以在www.foxhis.com/powermjtest/sharepowerdatagrid.rar下載),該查詢的構想是這樣的:我的這個控件可以通過指定一個SQL語句來顯示該語句的內容(其他的功能不敘述了,這不是重點),那么我可以封裝一組UI到這個控件里面來實現查詢的功能,問題出來了,這個查詢通常情況下應該在DataGrid的上面也就是查詢結果的上面,我要怎么才能保留原來的題頭同時再添加一個題頭呢(雙題頭)?    問題出來了,改如何解決呢?想了好多辦法都不行,如果要將Header重畫,那么還要處理排序是前后臺的交互問題,那么只能再保留原來Header不動的基礎上添加新的Header。無意中發現在分頁的時候可以有幾種分頁顯示的方法,在分頁面板里面有一個選現可以選擇分頁的位置,可以選擇上下型,在選擇這個類型的時候DataGrid在原來的Header上面又多了一行,我們今天就利用這一行來完成我們的任務,今天我們不產生查詢的UI而是產生一個分類的題頭,我們使用測試數據庫Northwind中的Employees來顯示數據,首先我們要做的是綁定數據綁定代碼如下:  SqlConnection con = new SqlConnection("server=localhost;database=Northwind;uid=sa;pwd=;");
         SqlDataAdapter da = new SqlDataAdapter("SELECT LastName+' '+FirstName as name, BirthDate, Country, Title, HireDate FROM Employees",con);
         DataTable dt = new DataTable();
         da.Fill(dt);
         this.DataGrid1.DataSource = dt;
         this.DataGrid1.DataBind();
  }     接著我們在ItemCreated里面添加適當的代碼來完成我們的任務,在PowerDataGrid該事件處理函數里面已經添加了創建一個自定義分頁的UI!如果你在PowerDataGrid里面添加需要判斷兩個(上下)Pager的位置,我們可以使用一個全局變量來判斷。    定義一個全局變量 private int m_CreatePageTimes = 0;
    然后我們為該事件處理函數添加如下代碼:  private int m_CreatePageTimes  = 0;
  private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {
         ListItemType elemType = e.Item.ItemType;
         if (elemType == ListItemType.Pager) {
            if (m_CreatePageTimes == 0) {
               TableCell cellPerson = (TableCell) e.Item.Controls[0];
               cellPerson.Controls.Clear();cellPerson.BackColor = Color.Navy;
               cellPerson.ForeColor = Color.Yellow;
               cellPerson.ColumnSpan = 3;
               cellPerson.HorizontalAlign = HorizontalAlign.Center;
               cellPerson.Controls.Add(new LiteralControl("個人信息"));
 
               TableCell cellJob = new TableCell();
               cellJob.BackColor = Color.Navy;
               cellJob.ForeColor = Color.Yellow;
               cellJob.ColumnSpan = 2;
               cellJob.HorizontalAlign = HorizontalAlign.Center;
               cellJob.Controls.Add(new LiteralControl("工作信息"));
               e.Item.Controls.Add(cellJob);
               m_CreatePageTimes  ++;
            }else if(m_CreatePageTimes ==1){
               // create custom pager UI
            }
         }     最后是DataGrid的HTML部分的代碼如下:
  <asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True" AutoGenerateColumns="False" Width="100%"
     PageSize="2">
     <Columns>
      <asp:BoundColumn DataField="name" HeaderText="姓名"></asp:BoundColumn>
      <asp:BoundColumn DataField="BirthDate" HeaderText="生日"></asp:BoundColumn>
      <asp:BoundColumn DataField="Country" HeaderText="國家"></asp:BoundColumn>
      <asp:BoundColumn DataField="Title" HeaderText="頭銜"></asp:BoundColumn>
      <asp:BoundColumn DataField="HireDate" HeaderText="雇傭日期"></asp:BoundColumn>
     </Columns>
     <PagerStyle Position="TopAndBottom" Mode="NumericPages"></PagerStyle>
    </asp:DataGrid>

  運行效果如下所示:


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 高密市| 宜良县| 五台县| 肥东县| 鞍山市| 旌德县| 成武县| 石屏县| 若羌县| 宜昌市| 上栗县| 常熟市| 玉山县| 湖州市| 杭锦旗| 黔西县| 龙口市| 永川市| 新巴尔虎右旗| 西青区| 贵港市| 德惠市| 中方县| 锡林郭勒盟| 大同市| 宜黄县| 双牌县| 庆城县| 嘉兴市| 汕头市| 茂名市| 泰和县| 黔江区| 浦北县| 宜春市| 乌拉特中旗| 武城县| 华安县| 盖州市| 札达县| 琼海市|