c# - Displaying Tooltips on a particular column in a data grid -


i working on c# wpf project programmatically creating data set , binding data grid.

the program reading in log file , processing each line of log file various columns within data grid.

the data grid can have different types of columns depending on type of log being viewed.

one of columns error code, trying achieve when user hovers mouse on status code tooltip appear showing meaning of status code.

for example if status code in column 404 tooltip show 'a 404 error means page couldn't found'

below code how creating data set , binding datagrid

public void processaccesslog(system.windows.controls.usercontrol usercontrol, system.windows.controls.datagrid apachedatagrid) {     string client;     string remoteuser;     string date;     string requestline;     string statuscode;     string clientsizereturned;     string referer;     string useragent;      using (streamreader reader = new streamreader(apachefilepath))     {         string line;         dataset ds = new dataset();         datatable table = new datatable();         datacolumn clientcol = new datacolumn("client ip", typeof(string));         datacolumn remoteusercol = new datacolumn("remote user", typeof(string));         datacolumn datecol = new datacolumn("date", typeof(string));         datacolumn requestlinecol = new datacolumn("request line", typeof(string));         datacolumn statuscodecol = new datacolumn("status code", typeof(string));         datacolumn clientsizereturnedcol = new datacolumn("client size returned", typeof(string));         datacolumn referercol = new datacolumn("referer", typeof(string));         datacolumn useragentcol = new datacolumn("user agent", typeof(string));         //datacolumn messagecol = new datacolumn("message", typeof(string));          table.columns.add(clientcol);         table.columns.add(remoteusercol);         table.columns.add(datecol);         table.columns.add(requestlinecol);         table.columns.add(statuscodecol);         table.columns.add(clientsizereturnedcol);         table.columns.add(referercol);         table.columns.add(useragentcol);         ds.tables.add(table);          while ((line = reader.readline()) != null)         {             client = line.substring(0, line.indexof(' '));             int startofremoteuser = client.length + 1;             remoteuser = line.substring(startofremoteuser, commontasks.getindexofspacecharafterindex(startofremoteuser, line) - client.length);             int startofdate = commontasks.getindexofcharacterafterstartposition(startofremoteuser, '[', line) + 1;             date = line.substring(startofdate, commontasks.getindexofcharacterafterstartposition(startofdate, ']', line) - startofdate);             int startofrequestline = commontasks.getindexofcharacterafterstartposition(startofdate, '"', line) + 1;             requestline = line.substring(startofrequestline, commontasks.getindexofcharacterafterstartposition(startofrequestline, '"', line) - startofrequestline);             int startofstatuscode = line.indexof(' ', startofrequestline + requestline.length) + 1;             statuscode = line.substring(startofstatuscode, line.indexof(' ', startofstatuscode) - startofstatuscode);             int startofsizereturned = line.indexof(' ', startofstatuscode + statuscode.length) + 1;             clientsizereturned = line.substring(startofsizereturned, line.indexof(' ', startofsizereturned) - startofsizereturned);             int startofreferer = commontasks.getindexofcharacterafterstartposition(startofsizereturned + clientsizereturned.length, '"', line) + 1;             referer = line.substring(startofreferer, commontasks.getindexofcharacterafterstartposition(startofreferer, '"', line)- startofreferer);             int startofuseragent = commontasks.getindexofcharacterafterstartposition(startofreferer + referer.length + 1, '"', line) + 1;             useragent = line.substring(startofuseragent).replace("\"", "");             datarow row = table.newrow();             row[clientcol] = client;             row[remoteusercol] = remoteuser;             row[datecol] = date;             row[requestlinecol] = requestline;             row[statuscodecol] = statuscode;             row[clientsizereturnedcol] = clientsizereturned;             row[referercol] = referer;             row[useragentcol] = useragent;             table.rows.add(row);         }         usercontrol.dispatcher.invoke(system.windows.threading.dispatcherpriority.background, new system.windows.threading.dispatcheroperationcallback(delegate         {             apachedatagrid.itemssource = ds.tables[0].defaultview;             return null;         }), null);       } 

thanks can provide


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -