Ⅰ 如何設計Excel動態表頭
軟體版本:Office2013
方法如下:
1. 先設置動態表頭實現條件,這里通過一個組合框的選擇來實現表頭的變化,組合框設置如下圖所示:
Ⅱ dojo grid動態設置欄位可編輯
在實際工作中我們經常要使用程序實現一些較復雜的表格,這些表格,不但表頭是多層的,而且要求列數也是不確定的。例如表1的表格,表頭分兩層,其科室的數量越多、表的列數也越多。FOXPRO的GRID控制項是一個非常有用,而且功能強大的控制項,使用它實現一個單層表頭的表格是非常容易的。當然如果科室較少,你可以使用Line和Label畫一個固定的表頭,但如果科室較多或不確定,固定的表頭顯然在表單上放不下,所以要實現以上的表格,就需要使用GRID控制項的嵌套功能。以實現以上表格為例,假設表頭的科室名稱存儲在一個單表ks-table中,其中欄位name存放科室的名稱。首先創建一個表單,在表單的load方法中創建二個臨時表。
Ⅲ 在Excel表格中,要保持表頭不動,表內數據可拉動,要怎樣設置。
凍結首行就可以了。
1、電腦打開Excel表格。
Ⅳ 關於jquery easyui的datagrid組件,如何動態載入表頭及其數據
你看一下easyui的API就知道這裡面是什麼格式了 比如data在後台看來就是一個map裡面有兩個數據一個是rows就是你的數據一個是total是總數量是用於分頁的 當然不用分頁不用傳 columns則是對每一列的定義他是一個list套list 裡面的list包含著一個個的map每一個map的參數都是定義這個列的屬性 比如title列名field是對應數據裡面的key還有一些其他的屬性等等。 研究下API就明白了。
Ⅳ Excel如何製作動態表頭
Excel如何製作動態表頭,做一個動態表頭,可將所有標題需要變動的部分做成單元格的引用,只要改動一處,所有的標題將一起跟著改變,也就可以解決這樣的用Excel來管理各種各樣的表格,這些表格的標題基本上是由單位名稱加年份、月份和表格名稱組成的。每隔一段時間列印這些表格時,都要將所有表格標題中的部分內容(如單位名稱、年份或月份)重新進行更改,操作時不僅繁瑣,而且容易出錯的問題了。後來經過嘗試實現了這個目標:
1.
製作表格標題初始化界面
為了操作方便,我們先插入一張新工作表,命名為“初始化”。在C7單元格中輸入“請輸入單位名稱:”的文字提示,這樣D7單元格可用於輸入單位名稱。
接下來右擊工具欄,選擇“窗體”命令,打開“窗體”工具欄。在C9單元格中輸入“時間:”,D9單元格用於顯示標題中的年份。單擊“窗體”工具欄中的〔微調框〕按鈕,在緊靠著D9單元格後繪制一個微調框對象。類似地,在緊靠著F9單元格後面再繪制一個微調框用於調整表格標題中的月份。
在E9和G9單元格中分別輸入“年”和“月”字,並設為右對齊。
右擊“微調框1”,選擇“設置控制格式”命令,此時會打開“對象格式”對話框,切換到其中的“控制”選項卡。在“當前值”框中輸入一個默認的年份如“2005”,在“最小值”和“最大值”框中輸入年份的上限和下限,“步長”為“1”,在“單元格鏈接”框中輸入要顯示年份單元格的絕對地址如“$D$9”,設置完成後,單擊〔確定〕按鈕,這樣微調框1和D9單元格就鏈接好了。類似地,可以將“微調框2”和F9單元格鏈接起來,要注意的是最大值和最小值受到月份本身的限制。
2.
設置表格標題
打開“加班記錄”工作表,在表格標題位置處輸入公式“=初始化!D7&&初始化!D9&&"年"&&初始化!F9&&"月份"&&"加班記錄"”,按回車鍵(此時還不能看到最終效果),設置好標題的格式。類似地,只要稍作改變就可以將其他表格的標題一一製作好。
3.
調試表格標題
以上操作完成後我們就可以來調試了。回到“初始化”表中,輸入學校名稱並選擇某年某月,此時返回到其他工作表中,我們就可以看到完整的表格標題了。
需要注意的是,用日期函數也可以讓標題根據系統時間自動改變,但不方便調整到之前的某個年份或月份。
Ⅵ vue框架iview中Table動態表頭可編輯內容的jsx寫法
有時候會出現以下需求,類似這樣
其中不確定有幾個分組,可能是A,B兩個, 也可能是 A, B, C,D四個,因為是後台配置出來的(且分組下面的展示都一樣:如這里的 A1,A2,A3,A4)
在分組數量不確定的時候,如是後台配增或減了分組之後,前端也要相對應的在頁面進行修改。而且每新增一個組,對應組下面的A1,A2,A3,A4都得重新寫一次,還要保證表格內容是可編輯的。這個時候表格需要動態處理表頭信息。如果用官方提供的寫法,整個頁面會變得超長,且大部分都是重復的,所以這里我使用JSX試了一下,發現效果還不錯,下面是實現過程
因為是模擬的,所以一些demo中寫死但可以非同步載入數據的地方會備注
那麼我們要做的第一步就是要先初始化表頭信息。從而保證數據的正確性
在表頭處理完成後就可以去請求數據了,這里也模擬了一下,最終效果如下
Ⅶ 怎麼在TableView中動態設置表頭和添加新行
您好,您這樣:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = FormatDT();
GridView1.DataBind();
}
}
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
switch (e.Row.RowType)
{
//頁頭
case DataControlRowType.Header:
//第一行表頭
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear();
tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("bgcolor", "#8E8E8E");
tcHeader[0].Attributes.Add("rowspan", "0"); //跨Row
tcHeader[0].Attributes.Add("colspan", "9"); //跨Column
tcHeader[0].Text = "全部信息</tr><tr>";
//第二行表頭
tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("bgcolor", "#008A23");
tcHeader[1].Text = "身份證號碼";
tcHeader.Add(new TableHeaderCell());
tcHeader[2].Text = "基本信息";
tcHeader[2].Attributes.Add("bgcolor", "#005EBB");
tcHeader[2].Attributes.Add("colspan", "3");
tcHeader.Add(new TableHeaderCell());
tcHeader[3].Text = "福利";
tcHeader[3].Attributes.Add("bgcolor", "#008A23");
tcHeader[3].Attributes.Add("colspan", "2");
tcHeader.Add(new TableHeaderCell());
tcHeader[4].Text = "應發合計";
tcHeader[4].Attributes.Add("bgcolor", "#008A23");
tcHeader.Add(new TableHeaderCell());
tcHeader[5].Text = "聯系方式</tr><tr>";
tcHeader[5].Attributes.Add("bgcolor", "#005EBB");
tcHeader[5].Attributes.Add("colspan", "2");
//第三行表頭
tcHeader.Add(new TableHeaderCell());
tcHeader[6].Text = "身份證號碼";
tcHeader.Add(new TableHeaderCell());
tcHeader[7].Text = "姓名";
tcHeader.Add(new TableHeaderCell());
tcHeader[8].Text = "出生日期";
tcHeader.Add(new TableHeaderCell());
tcHeader[9].Text = "性別";
tcHeader.Add(new TableHeaderCell());
tcHeader[10].Text = "基本工資";
tcHeader.Add(new TableHeaderCell());
tcHeader[11].Text = "獎金";
tcHeader.Add(new TableHeaderCell());
tcHeader[12].Text = "應發合計";
tcHeader.Add(new TableHeaderCell());
tcHeader[13].Text = "家庭住址";
tcHeader.Add(new TableHeaderCell());
tcHeader[14].Text = "郵政編碼";
break;
//數據行 內容自適應 不換行
case DataControlRowType.DataRow:
TableCellCollection cells1 = e.Row.Cells;
for (int i = 0; i < cells1.Count; i++)
{
cells1[i].Wrap = false; //設置此項切記 不要設置前台GridView寬度
}
break;
}
}
//創建DataTable
protected DataTable CreateDT()
{
DataTable tblDatas = new DataTable("Datas");
//序號列
//tblDatas.Columns.Add("ID", Type.GetType("System.Int32"));
//tblDatas.Columns[0].AutoIncrement = true;
//tblDatas.Columns[0].AutoIncrementSeed = 1;
//tblDatas.Columns[0].AutoIncrementStep = 1;
//數據列
tblDatas.Columns.Add("身份證號碼", Type.GetType("System.String"));
tblDatas.Columns.Add("姓名", Type.GetType("System.String"));
tblDatas.Columns.Add("出生日期", Type.GetType("System.String"));
tblDatas.Columns.Add("性別", Type.GetType("System.String"));
tblDatas.Columns.Add("基本工資", Type.GetType("System.Decimal"));
tblDatas.Columns.Add("獎金", Type.GetType("System.Decimal"));
//統計列開始
tblDatas.Columns.Add("應發合計", Type.GetType("System.String"), "基本工資+獎金");
//統計列結束
tblDatas.Columns.Add("家庭住址", Type.GetType("System.String"));
tblDatas.Columns.Add("郵政編碼", Type.GetType("System.String"));
tblDatas.Rows.Add(new object[] { null, "張三", "1982", "0", 3000, 1000, null, "深圳市", "518000" });
tblDatas.Rows.Add(new object[] { null, "李四", "1983", "1", 3500, 1200, null, "深圳市", "518000" });
tblDatas.Rows.Add(new object[] { null, "王五", "1984", "1", 4000, 1300, null, "深圳市", "518000" });
tblDatas.Rows.Add(new object[] { null, "趙六", "1985", "0", 5000, 1400, null, "深圳市", "518000" });
tblDatas.Rows.Add(new object[] { null, "牛七", "1986", "1", 6000, 1500, null, "深圳市", "518000" });
return tblDatas;
}
//轉換DataTable中的數據 用於邏輯處理相應的數據 顯示
protected DataTable FormatDT()
{
DataTable dt1 = CreateDT();
//容錯處理 用於不確定 自動產生的列
if (dt1.Columns.Contains("性別"))
{
foreach (DataRow dr in dt1.Rows)
{
dr["性別"] = (dr["性別"].ToString() == "0") ? "女" : "男";
}
}
return dt1;
}
Ⅷ vb datagrid 控制項使用 如何才能讓顯示出來的數據可以編輯
第一、Datagrid要有updata屬性,使之可以編輯更新。這個可以跳過,沒有問題的。
第二、我試驗過AllowNewAdd,這個屬性非常不容易控制,建議不使用。
第三、以程序動態建立數據源,使用ADO為例,創建一個recordset對象rs,需要DataGrid1.DataSource = rs 。更新以後用rs.updateBatch ,然後刷新DataGrid。DataGrid1.refresh。
第四、如果需要指定顯示列,有兩個方法
一個是控制DataGrid列可見性。示範代碼如下:
Dim w As Integer
w = CInt(DataGrid1.Width * 0.9)
Dim c As Column
For Each c In DataGrid1.Columns
Select Case c.DataField
Case "id"
c.Visible = False
c.Width = 0
Case "聯系人"
c.Visible = True
c.Width = CInt(w * 0.1)
Case "聯系電話"
c.Visible = True
c.Width = CInt(w * 0.15)
Case "公司名稱"
c.Visible = True
c.Width = CInt(w * 0.3)
Case "地址"
c.Visible = True
c.Width = CInt(w * 0.4)
End Select
Next c
這段代碼同時設定了列寬。
方法二、你乾脆直接就在rs查詢裡面指定列,如下
"select lie1,lie2,lie3 from table1"
第五、需要重新載入數據顯示到DataGrid,需要如下步驟操作
停用enable屬性 DataGrid1.enable = false
關閉 recordSet對象 rs.close
重新填充數據集合
rs.open sqls……
刷性數據 rs.updatabatch
DataGrid1.refresh