表格!又见表格!又见不是一般表格的表格!表是表格的表!格是表格的格!!DataGrid问题~~~~~~~~ 你想自己写个继承自DataGrid的自定于控件?这是有一定难度的,为什么不用DataGrid ,轻型的你可以用DataList 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 干吗不用vs.net里面的DataGrid,这个很方便的呀? 定义一下itemtemplate就可以实现很多功能啊 对 那儿有很多自绘制 DataGrid 的例子 如果用VS.NET的也行啊 不过我对它不是很熟 所以想自己写一个嘛 既然大家说可以用那个 那就用呗 不过 我真的不太会用啊 连它的有些属性都不清楚 给点这方面的介绍行不呀? 拜托了 大哥们~~最好是把它的各个方面都用到的例子做好拉~~------------------------------------------------------- 寂寞无人两心知 一样花开为底迟? 其实你要是吃不透DataGrid 的用法,换一中思维进行想象,DataGrid 在客户端最纵是表格的形式显示出来,那你可以完全自己创建一个Table 来达到你想要的功能啊。 To: Seeko0(阿 枫) 你说的正是我想要的啊 就是用Table搞一个类似的东东啊 你知道怎么整不??? 给段代码参考参考 要C#的哦 谢谢---------------------------------------------------------------- 寂寞无人两心知 一样花开为底迟? 精通DataGrid后在学好ASP就能写了,我以前看过ASP写的代码类似 DataGrid的功能 //注:无环境,记事本编辑,可能有笔误 :)//msn:[email protected]//手写的太累,分页还要复杂些,下次进行交流。//下面只是一个大致的过程 string selectIndex=""; DataTable dt=new DataTable();void Page_Load(object sender,System.EventArgs e){ dataSource(); if(!IsPostBack){ Button Add=new Button() Add.Text="Add New"; Add.Click += new System.EventHundler(Add_Click); Controls[1].Controls.Add(Add); CreateTable(); }}void dataSource(){ dt= (DataTable)?; // ... get DataTable ,Code by youself }void CreateTable(){//############ 在返回的DataTable 中,一定要有一个关键字段,值不能重复,否则不能进行删除操作//############ 这里设置为id // Table mainTable=new Table(); //可在IDE中创建一个table,并设置相关列信息,也可code中创建 for(int i=0;i<dt.Rows.Count;i++) { TableRow row=new TableRow();//create Index Column TableCell cellIndex=new TableCell(); cellIndex.Text=i.ToString(); cellIndex.ID=dt.Rows[i]["id"].ToString(); if (selectIndex == cellIndex.ID) //表示选中 row.Attributes["backgrouncolor"]="red"; row.Cells.Add(cellIndex); //create data Column for(int j=0;j<dt.Columns.Count;j++){ TableCell cell=new TableCell(); cell.Text=dt[i][j].ToString(); row.Cells.Add(cell); }//create opreate Column TableCell cellOpr=new TableCell(); Button select=new Button(); select.Text="select"; select.ID="sel_"+dt.Rows[i]["id"].ToString(); //注册事件 select.Click += new System.EventHundler(select_Click); Button delete=new Button(); delete.Text="delete"; delete.ID="del_"+dt.Rows[i]["id"].ToString(); //注册事件 delete.Click += new System.EventHundler(delete_Click); cellOpr.Controls.Add(select); cellOpr.Controls.Add(delete); row.Cells.Add(cellOpr); }// Controls[1].Controls.Add(mainTable); //显示mainTable }//Add new void Add_Click(object sender,System.EventArgs e){ CreateTable(); AddNewRow(); }void AddNewRow(){ //作用是产生新的一个数据录入行,最后一列还要包括保存按钮和取消按钮; //code 大致和CreateTable()一样,只是这里产生的TableCell 里的控件全部是TextBox,可以输入;}void select_Click(object sender ,System.EvenArgs e){ Button btn=(Button)sender; selectIndex=btn.ID.Replace("sel_",""); //获得哪行被选中 CreateTable(); }void delete_Click(object sneder,System.EventArgs e){ Button btn=(Button)sender; selectIndex=btn.ID.Replace("sel_",""); //获得哪行被选中 if(selectIndex !="") removeById(selectIndex); CreateTable(); }void removeById(string Id){ string sqlstr="delete from table where id ="+Id; // Execute Sql Code by youself;} void delete_Click(object sneder,System.EventArgs e){ Button btn=(Button)sender;//########## selectIndex=btn.ID.Replace("sel_",""); //获得哪行被选中 selectIndex=btn.ID.Replace("del_",""); //获得哪行被删除 if(selectIndex !="") removeById(selectIndex); CreateTable(); } 谢谢 Seeko0(阿 枫) 我试试 WEB登陆求解 急急急 讨论dhtmlxScheduler的使用 请问asp.net怎么对搜索结果进行分页,搜索条件有四个 在.cs文件中怎么给RadioButtonList指定选中某个项? VS2008里面CSS问题 限制文本框输入 asp.net中Web.config的问题 求《构建Web解决方案—应用ASP.NET和ADO.NET》源码 各位,请帮忙!!水晶报表 工具栏 只能缩放一次问题! 服务代码引用datagrid 模版列中“文本框”值(HTML控件)值??(高手人请指教)!! 请教一段语句的C#写法 Web Service 在代理服务后不能使用!
------------------------------------------------------- 寂寞无人两心知 一样花开为底迟?
//msn:[email protected]
//手写的太累,分页还要复杂些,下次进行交流。
//下面只是一个大致的过程
string selectIndex="";
DataTable dt=new DataTable();
void Page_Load(object sender,System.EventArgs e)
{
dataSource(); if(!IsPostBack){
Button Add=new Button()
Add.Text="Add New";
Add.Click += new System.EventHundler(Add_Click);
Controls[1].Controls.Add(Add);
CreateTable();
}
}void dataSource()
{
dt= (DataTable)?;
// ... get DataTable ,Code by youself
}void CreateTable()
{
//############ 在返回的DataTable 中,一定要有一个关键字段,值不能重复,否则不能进行删除操作
//############ 这里设置为id
// Table mainTable=new Table(); //可在IDE中创建一个table,并设置相关列信息,也可code中创建
for(int i=0;i<dt.Rows.Count;i++)
{
TableRow row=new TableRow();//create Index Column
TableCell cellIndex=new TableCell();
cellIndex.Text=i.ToString();
cellIndex.ID=dt.Rows[i]["id"].ToString();
if (selectIndex == cellIndex.ID) //表示选中
row.Attributes["backgrouncolor"]="red"; row.Cells.Add(cellIndex);
//create data Column
for(int j=0;j<dt.Columns.Count;j++){
TableCell cell=new TableCell();
cell.Text=dt[i][j].ToString();
row.Cells.Add(cell);
}//create opreate Column
TableCell cellOpr=new TableCell();
Button select=new Button();
select.Text="select";
select.ID="sel_"+dt.Rows[i]["id"].ToString();
//注册事件
select.Click += new System.EventHundler(select_Click);
Button delete=new Button();
delete.Text="delete";
delete.ID="del_"+dt.Rows[i]["id"].ToString();
//注册事件
delete.Click += new System.EventHundler(delete_Click);
cellOpr.Controls.Add(select);
cellOpr.Controls.Add(delete);
row.Cells.Add(cellOpr);
}
// Controls[1].Controls.Add(mainTable); //显示mainTable
}//Add new
void Add_Click(object sender,System.EventArgs e)
{
CreateTable();
AddNewRow();
}
void AddNewRow()
{
//作用是产生新的一个数据录入行,最后一列还要包括保存按钮和取消按钮;
//code 大致和CreateTable()一样,只是这里产生的TableCell 里的控件全部是TextBox,可以输入;
}
void select_Click(object sender ,System.EvenArgs e)
{
Button btn=(Button)sender;
selectIndex=btn.ID.Replace("sel_",""); //获得哪行被选中
CreateTable();
}void delete_Click(object sneder,System.EventArgs e)
{
Button btn=(Button)sender;
selectIndex=btn.ID.Replace("sel_",""); //获得哪行被选中
if(selectIndex !="")
removeById(selectIndex); CreateTable();
}void removeById(string Id)
{
string sqlstr="delete from table where id ="+Id;
// Execute Sql Code by youself;
}
{
Button btn=(Button)sender;
//########## selectIndex=btn.ID.Replace("sel_",""); //获得哪行被选中
selectIndex=btn.ID.Replace("del_",""); //获得哪行被删除
if(selectIndex !="")
removeById(selectIndex); CreateTable();
}