婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET GridView 實現課程表顯示(動態合并單元格)實現步驟

ASP.NET GridView 實現課程表顯示(動態合并單元格)實現步驟

熱門標簽:玉林市機器人外呼系統哪家好 同安公安400電話怎么申請流程 南陽外呼系統定制化 申請400電話手續 百度ai地圖標注 蘋果手機凱立德地圖標注 預測式外呼系統使用說明 電話機器人軟件銷售工作 合肥電銷外呼系統哪家公司做的好
GridView,ASP.NET中很常用的數據顯示控件,這里,我將用這個控件來實現課程表的顯示。首先說說課程表的顯示與普通記錄的顯示有何不同?這里所說的普通記錄是指直接從數據庫中查詢出來的、沒有經過任何處理的記錄。通常,我們用GridView顯示這些普通記錄,只需直接將這些記錄表綁定到GridView中即可。但是,課程表的顯示可不是這么簡單,它需要將普通記錄繼續加工,需要根據記錄中具體的數據來確定數據需要顯示在哪一行、哪一列,而且需要根據課程開始時間和結束時間動態合并單元格,最后才是數據的顯示。這就是課程表顯示的難點之所在。好了,下面就看看我是如何實現的吧。
.aspx文件中代碼
復制代碼 代碼如下:

%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.aspx.cs" Inherits="DataBind.test" %>
%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head runat="server">
title>/title>
/head>
body>
form id="form1" runat="server">
div>
asp:GridView ID="GridView1" runat="server"
onrowdatabound="GridView1_RowDataBound1" BorderWidth="1">
HeaderStyle Wrap="False" />
RowStyle HorizontalAlign="Center" VerticalAlign="Middle" />
/asp:GridView>
/div>
/form>
/body>
/html>

.aspx.cs文件中代碼
復制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Text.RegularExpressions;
namespace DataBind
{
public partial class test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = DB.createCon();//創建連接對象
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("Select * from Schedule ", con);
DataSet ds = new DataSet();
sda.Fill(ds);
DataTable table = new DataTable();
table = ds.Tables[0];
DataTable dtSchedule = new DataTable();//此表用于存放轉換后的課程表(格式與日常見到的一樣)
//添加八列
dtSchedule.Columns.Add("課程表");
for (int i = 1; i 8; i++)
{
dtSchedule.Columns.Add("星期" + WeekConvertToChinese(i));
}
//添加八行
for (int i = 0; i 8; i++)
{
dtSchedule.Rows.Add();
}
//添加左側固定信息(第幾節課)
for (int i = 0; i 8; i++)
{
dtSchedule.Rows[i][0] = "第" + ConvertToChinese(i+1) + "節";
}
//此數組用于存放需要合并的單元格信息。如:需要合并第一列的一、二單元格
//那么,數組中一行的三個數分別為1,1,2
int[][] tempArray = new int[table.Rows.Count][];
//數組初始化
for (int i = 0; i table.Rows.Count; i++)
{
tempArray[i] = new int[3];
for (int j = 0; j 3; j++)
{
tempArray[i][j] = 0;
}
}
//遍歷table,將每條課表信息填在tab中適當的位置。
for (int i = 0; i table.Rows.Count; i++)
{
//課是周幾的課
string week = Convert.ToString(table.Rows[i]["Week"]);
//課開始時間
string startTime =Convert.ToString( table.Rows[i]["StartTime"]);
//課結束時間
string endTime = Convert.ToString(table.Rows[i]["EndTime"]);
for (int weekCount = 1; weekCount 8; weekCount++)//確定本條數據將來顯示在哪一列
{
if (week == Convert.ToString(dtSchedule.Columns[weekCount].ColumnName))//跟星期做比較,確定數據應該寫在那一列
{
tempArray[i][0] = weekCount;//記錄星期(確定將來的數據顯示在哪一列)
break;
}
}
for (int j = 0; j dtSchedule.Rows.Count; j++)//確定課程的開始時間和結束時間,并填寫數據
{
string section =Convert.ToString( dtSchedule.Rows[j][0]);//當前行是第幾節課
if (section == startTime)//判斷課程開始時間,確定位置,填寫數據
{
tempArray[i][1] = j;//記錄上課開始時間(確定數據數據顯示在哪一行)
dtSchedule.Rows[j][tempArray[i][0]] = Convert.ToString(table.Rows[i]["CourseName"]) + "br />" +
Convert.ToString(table.Rows[i]["TeacherName"]);
}
if (section == endTime)//判斷課程結束時間,記錄位置
{
tempArray[i][2] = j;//記錄課結束時間
break;
}
}
}
GridView1.DataSource = dtSchedule;
GridView1.DataBind();
//合并單元格
for (int i = 0; i table.Rows.Count; i++)
GroupCol(GridView1, tempArray[i][0], tempArray[i][1], tempArray[i][2]);
}
/// summary>
/// 合并某列中的多個單元格
/// /summary>
/// param name="GridView1">/param>
/// param name="cols">要合并的那一列/param>
/// param name="sRow">開始行/param>
/// param name="eRow">結束行/param>
public static void GroupCol(GridView GridView1, int cols, int sRow, int eRow)
{
//if (GridView1.Rows.Count 1 || cols > GridView1.Columns.Count - 1)
//{
// return;
//}
//if (GridView1.Rows.Count 1 || cols > GridView1.Rows[0].Cells.Count - 1)
//{
// return;
//}
TableCell oldTc = GridView1.Rows[sRow].Cells[cols];
for (int i = 1; i = eRow - sRow; i++)
{
TableCell tc = GridView1.Rows[sRow + i].Cells[cols];
tc.Visible = false;
if (oldTc.RowSpan == 0)
{
oldTc.RowSpan = 1;
}
oldTc.RowSpan++;
oldTc.VerticalAlign = VerticalAlign.Middle;
}
}
string ConvertToChinese(int x)
{
string cstr = "";
switch (x)
{
case 0: cstr = "零"; break;
case 1: cstr = "一"; break;
case 2: cstr = "二"; break;
case 3: cstr = "三"; break;
case 4: cstr = "四"; break;
case 5: cstr = "五"; break;
case 6: cstr = "六"; break;
case 7: cstr = "七"; break;
case 8: cstr = "八"; break;
case 9: cstr = "九"; break;
}
return (cstr);
}
//轉換星期幾
string WeekConvertToChinese(int x)
{
string cstr = "";
switch (x)
{
case 1: cstr = "一"; break;
case 2: cstr = "二"; break;
case 3: cstr = "三"; break;
case 4: cstr = "四"; break;
case 5: cstr = "五"; break;
case 6: cstr = "六"; break;
case 7: cstr = "日"; break;
}
return (cstr);
}
/// summary>
/// 使得GridView中的內容可以換行
/// /summary>
/// param name="sender">/param>
/// param name="e">/param>
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCellCollection cells = e.Row.Cells;
foreach (TableCell cell in cells)
{
cell.Text = Server.HtmlDecode(cell.Text); //注意:此處所有的列所有的html代碼都會按照html格式輸出,如果只需要其中的哪一列的數據需要轉換,此處需要小的修改即可。
}
}
}
}
}

最終顯示效果:
您可能感興趣的文章:
  • datalist,Repeater和Gridview的區別分析
  • asp.net中讓Repeater和GridView支持DataPager分頁
  • repeater、gridview 在綁定時判斷判斷顯示不同的行樣式或文本
  • ASP.NET MVC4之js css文件合并功能(3)
  • Asp.net程序優化js、css實現合并與壓縮的方法
  • Asp.net_Table控件の單元格縱向合并示例
  • asp.net中GridView和DataGrid相同列合并實現代碼
  • asp.net中rdlc 合并行的方法
  • asp.net 合并GridView中某列相同信息的行(單元格)
  • ASP.NET中GridView和Repeater重復數據如何合并

標簽:南京 南昌 嘉興 揚州 淄博 南京 海南 臺州

巨人網絡通訊聲明:本文標題《ASP.NET GridView 實現課程表顯示(動態合并單元格)實現步驟》,本文關鍵詞  ASP.NET,GridView,實現,課程表,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET GridView 實現課程表顯示(動態合并單元格)實現步驟》相關的同類信息!
  • 本頁收集關于ASP.NET GridView 實現課程表顯示(動態合并單元格)實現步驟的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一本久久综合亚洲鲁鲁五月天| 国产日韩视频一区二区三区| 91小视频免费观看| 777欧美精品| 天天做天天摸天天爽国产一区| 久久av老司机精品网站导航| 日本精品视频一区二区| 欧美一级片免费看| 一区二区不卡在线视频 午夜欧美不卡在 | 成人免费一区二区三区视频| 粉嫩绯色av一区二区在线观看 | 久久久精品天堂| 国产精品一区一区| 亚洲国产精品v| 成人激情黄色小说| 国产精品久久久久久久久免费樱桃| 国产电影精品久久禁18| 最新欧美精品一区二区三区| www.爱久久.com| 蜜桃久久精品一区二区| 亚洲国产精品国自产拍av| 91丝袜美女网| 国产综合色视频| 亚洲韩国精品一区| 久久综合资源网| 日韩一级精品视频在线观看| 99久久免费精品| 国产乱人伦偷精品视频免下载 | 97国产精品videossex| 日韩福利电影在线| 亚洲精品欧美激情| 欧美高清在线精品一区| 欧美一区二区三区的| 99天天综合性| 成人高清视频免费观看| 韩国一区二区在线观看| 免费在线观看不卡| 日本伊人精品一区二区三区观看方式| 国产精品久久久久久久裸模| 国产亚洲一区字幕| 精品国产91亚洲一区二区三区婷婷| 欧美日韩一区二区三区四区五区| 91丝袜呻吟高潮美腿白嫩在线观看| 精品一区二区三区免费毛片爱| 日韩高清欧美激情| 蜜臀av一区二区| 国产成人亚洲精品青草天美| 盗摄精品av一区二区三区| 成人av在线播放网址| 91免费在线看| 99视频在线观看一区三区| 成人a免费在线看| 中文字幕亚洲一区二区va在线| 日韩午夜电影在线观看| 欧美激情一区二区三区蜜桃视频 | hitomi一区二区三区精品| 国产精品99精品久久免费| 91麻豆福利精品推荐| 欧美日韩一级片网站| 精品国产百合女同互慰| 一区二区三区日韩欧美| 久久精品国产亚洲一区二区三区| 国产成人精品亚洲午夜麻豆| 91丝袜美女网| 久久综合九色综合97_久久久| 中文字幕在线观看不卡| 五月开心婷婷久久| 不卡区在线中文字幕| 日韩欧美中文字幕制服| 成人免费在线播放视频| 久久精品国产亚洲一区二区三区 | 成人av网址在线观看| 成人性生交大片免费看中文网站| 欧洲精品在线观看| 日韩午夜中文字幕| 午夜精品久久久久久久| 色综合天天性综合| 亚洲欧美日韩小说| 91福利在线免费观看| 亚洲va在线va天堂| 欧美一区二区久久久| 蜜桃视频在线观看一区| 日韩精品一区二区三区在线观看| 污片在线观看一区二区| 在线成人av影院| 欧美色精品在线视频| 亚洲欧美日韩小说| 欧美日韩一区二区三区高清 | **欧美大码日韩| 欧美亚洲高清一区| 久久av老司机精品网站导航| 国产精品久久二区二区| 欧美日韩精品欧美日韩精品| 日一区二区三区| 国产精品久久国产精麻豆99网站 | 九九热在线视频观看这里只有精品| 日韩一区二区在线观看| www.欧美精品一二区| 久久97超碰色| 亚洲一区二区三区激情| 国产精品毛片久久久久久久| 欧美美女激情18p| 色噜噜偷拍精品综合在线| 久久精品久久综合| 日韩福利电影在线观看| 国产丝袜欧美中文另类| 日韩一级片网站| 欧美一级电影网站| 91精品国产欧美一区二区| 在线视频亚洲一区| 在线影视一区二区三区| 欧美色倩网站大全免费| 欧美私人免费视频| 欧美一区二区三区喷汁尤物| 在线视频国产一区| 制服丝袜成人动漫| 欧美精品日韩综合在线| 精品久久人人做人人爰| 欧美国产一区二区| 亚洲网友自拍偷拍| 国产米奇在线777精品观看| 国产成人在线视频网址| 成人黄色综合网站| 在线不卡的av| 国产精品亲子伦对白| 亚洲国产视频a| 紧缚奴在线一区二区三区| 成人av电影在线| 日韩精品中文字幕在线不卡尤物 | 亚洲bdsm女犯bdsm网站| 国产精品一区二区男女羞羞无遮挡| 国产呦精品一区二区三区网站| 在线观看日韩电影| 欧美tickling网站挠脚心| 最新欧美精品一区二区三区| 免费在线看成人av| 99精品久久只有精品| 精品国产免费视频| 亚洲午夜久久久久久久久电影院| 国产一区二区中文字幕| 日韩精品在线网站| 全国精品久久少妇| 欧美一区二区三区四区高清| 国产精品成人在线观看| 狠狠色丁香婷综合久久| 欧美一区二区三区免费大片| 亚洲人成影院在线观看| 99精品热视频| 亚洲一级片在线观看| 欧洲av一区二区嗯嗯嗯啊| 亚洲三级小视频| 日本久久电影网| 亚洲自拍偷拍网站| 777午夜精品视频在线播放| 日日夜夜免费精品视频| 日韩免费福利电影在线观看| 九九视频精品免费| 国产欧美一区二区精品性色 | 亚洲女与黑人做爰| 精品一区二区在线观看| 精品欧美黑人一区二区三区| 麻豆国产精品官网| 中文字幕不卡的av| 欧美日韩成人综合天天影院 | 成人精品在线视频观看| 亚洲国产成人porn| 国产亚洲欧美一级| 日韩一级片在线播放| 99久久综合国产精品| 奇米一区二区三区| 亚洲精品网站在线观看| 精品国产一区二区三区久久久蜜月| 国产精品一区二区三区网站| 亚洲风情在线资源站| 久久久高清一区二区三区| 在线一区二区三区做爰视频网站| 久久99最新地址| 麻豆成人久久精品二区三区红| 中文字幕视频一区| 国产欧美日韩另类一区| 精品久久一区二区| 欧美一区二区三区视频免费播放 | 午夜精品久久久久久久久久 | 91精品国产综合久久久久久久| 国产不卡免费视频| 成人动漫一区二区在线| 粉嫩av亚洲一区二区图片| 日本特黄久久久高潮| 日本系列欧美系列| 九一久久久久久| 成人开心网精品视频| 不卡视频在线看| 在线视频综合导航| 3d成人动漫网站| 国产亚洲欧美一区在线观看| 亚洲国产精品传媒在线观看| 国产丝袜美腿一区二区三区| 中文字幕在线观看不卡| 亚洲成人一区二区在线观看| 免费黄网站欧美|